3.2. The Wireshark Git repository

Git is used to keep track of the changes made to the Wireshark source code. The code is stored inside Wireshark project’s Git repository located at a server at the wireshark.org domain.

Changes to the official repository are managed using the Gerrit code review system. Gerrit makes it easy to test and discuss changes before they are pushed to the main repository. For an overview of Gerrit see the Quick Introduction.

Why Git?  Git is a fast, flexible way of managing source code. It allows large scale distributed development and ensures data integrity.

Why Gerrit?  Gerrit makes it easy to contribute. You can sign in with any OpenID provider and push your changes. It’s usable from both the web and command line and is integrated with many popular tools.

[Note]Git is our third revision control system

Wireshark originally used Concurrent Versions System (CVS) and migrated to Subversion in July 2004. The Subversion repository was subsequently migrated to Git in January 2014.

Using Wireshark’s Git repository you can:

3.2.1. The web interface to the Git repository

If you need a quick look at the Wireshark source code you can browse the most recent file versions in the master branch using Gitweb:


You can also view commit logs, branches, tags, and past revisions:


3.2.2. Git Naming Conventions

Like most revision control systems, Git uses branching to manage different copies of the source code and allow parallel development. Wireshark uses the following branch naming conventions:

  • master: Main feature development and odd-numbered “development” releases.
  • master-x.y: Stable release maintenance. For example, master-3.0 is used to manage the 3.0.x official releases.

Tags for major releases and release candidates consist of a “v” followed by a version number such as “v3.0.1” or “v3.0.3rc0”. Major releases additionally have a tag prefixed with “wireshark-” followed by a version number, such as “wireshark-3.0.0”.