Gitolite is an access control layer on top of git, which allows access control down to the branch level, including specifying who can and cannot rewind a given branch.

Gitolite lets you use a single user on a server to host many git repositories and provide access to many developers, without having to give them real userids on or shell access to the server. Authentication is most commonly done using sshd, but you can also use httpd if you prefer.

Gitolite can restrict who can read from (clone/fetch) or write to (push) a repository. It can also restrict who can push to what branch or tag, which is very important in a corporate environment.

Gitolite is developed by Sitaram Chamarty and released under GPLv2 at sitaramac/gitolite@github.

Gitolite package

Gitolite is available in the FreeBSD ports tree as devel/gitolite (v3.x) and devel/gitolite2 (v2.x).

The hosted tarballs are made available for distribution packaging. The tarballs are made with this Makefile and are not FreeBSD specific.

Gitolite v3 documentation is available here. Gitolite v2 documentation is available here.

Latest packages

tarball SHA256 Source Tag FreeBSD Extra Notes
gitolite-2.3.1.tar.gz 53303fea0154914356830202d3de23f94682bab26197ead8ca05d58818c56e82 v2.3.1 Paths
gitolite-3.6.3.tar.gz a82e861c2a5db2fffb9b6d359f8f3ed42fbb0c64f0e11881830360466270115c v3.6.4 No FreeBSD port yet

FreeBSD Port News

devel/gitolite updated to 3.6.1,1

devel/gitolite updated to 3.6,1

devel/gitolite updated to 3.5.3,1

For gitolite <3.5.3 and git >= 1.9.0, a patch for tests is needed to fix file urls: Commit e3c85ad.

devel/gitolite updated to 3.5.2,1

devel/gitolite2 updated to 2.3.1_1

As of these port versions, the ports will now retrieve their package source directly from github caches instead of the hosted tarballs. This ensures that any github url changes will not require a a port revision bump and older releases starting from these port versions will still be available.

A security vulnerability has been found in the 3.5.3 release, discussed in the mailing list. Only new installs from this release are affected.

devel/gitolite updated to 3.5.1,1.

devel/gitolite and devel/gitolite2 have been updated to conform to the new OptionsNG framework.

Furthermore, github has changed its domain for gh-pages from to All older ports will be unable to use the github MASTER_SITE.

devel/gitolite updated to 3.4,1.

devel/gitolite updated to 3.3,1.

devel/gitolite updated to 3.2,1.

devel/gitolite updated to 3.1,1.

A security vulnerability CVE-2012-4506 has been found in previous 3.x releases, discussed in the mailing list. All users of gitolite 3.x before 3.1 should update.

devel/gitolite updated to 3.04.

devel/gitolite updated to 3.03. devel/gitolite2 updated to 2.3.1

The gitolite port has been split into two ports: devel/gitolite for version 3 and devel/gitolite2 for version 2. gitolite 3 is a complete rewrite. Admins must take note of migrating issues from gitolite 2.

FreeBSD port

The FreeBSD port does a manual installation of the gitolite files to ensure FreeBSD compatability and adherance to hier(7). Optionally, the git user is created for use as the gitolite provider. The gitolite setup instructions are still required to setup a user as a gitolite provider.

Note: only the core features of gitolite are guaranteed to work on FreeBSD; any provided non-core features (e.g. hook examples, VREFs, mirroring) have not been examined for FreeBSD compatibility. Some may require additional tweaking such as path fixing.

devel/gitolite (v3)

  1. Patch files for paths
  2. Install files to appropriate locations:
    • srclibexec/gitolite
    • src/libSITE_PERL (e.g. lib/perl5/site_perl/5.12.4)
    • symlink gitolitebin/gitolite

devel/gitolite2 (v2)

  1. Create custom gl-install, gl-auth-command
  2. Patch files for paths
  3. Patch default rc file for package paths
  4. Install files to appropriate locations:
    • srclibexec/gitolite
    • confshare/gitolite/conf
    • hooksshare/gitolite/hooks
    • gl-install, gl-auth-commandbin
tarball SHA256 Source Tag FreeBSD Extra Notes
gitolite-2.0.2.tar.gz e3f69f069087aa7c09ae98d0e89b1758de69ee98133e721da325163b8dd9ebd2 v2.0.2 Paths
gitolite-2.0.3.tar.gz a5d4cf95c69d574a5f78268274acc414873006a279b7299576e3aeb8c2afae7c v2.0.3 Paths
gitolite-2.1.tar.gz b8c824f3772be3395f7b27bc9de9c93c7c4f2a1c7130095d8358775b2f7a39c5 v2.1 Paths
gitolite-2.2.tar.gz 42a24e1c32c24b327316a7cb1832088001d0e778e794b779aeb7fc309fb6549a v2.2 Paths
gitolite-2.2.1.tar.gz 86203768838d5309ddbf39ccdbc6d494e22060d577cfa480f4b5005cece996c7 v2.2.1 Paths
gitolite-2.3.tar.gz cc973f499194cbe7c9434479383547a172a41a97ee5230af6681785fc40c783b v2.3 Paths
gitolite-2.3.1.tar.gz 53303fea0154914356830202d3de23f94682bab26197ead8ca05d58818c56e82 v2.3.1 Paths
gitolite-3.0.tar.gz 4348c9ffe2be6a098765d78a75daacdbe2c67e15c9b97bcca41f3648e6addcd8 v3.0 Vulnerable††
FreeBSD compat issues fixed in v3.01. No port made.
gitolite-3.01.tar.gz 5c0141eeab483dd3ebfcd153117492254b6f4f7d11b48907493f9054ee6c5088 v3.01 Vulnerable††
Tests require gls from sys/coreutils: v3.01-testing-fbsd.patch
gitolite-3.02.tar.gz 376b902fa965f46d9e1922980df1d4d8bca175c80d507156dff970086513b545 v3.02 Vulnerable††
No port made.
gitolite-3.03.tar.gz b3487fd99cc46a7be32a58f8a86a520fc0943814794cc56b5f83d803591737ca v3.03 Vulnerable††
Tests require gls from sys/coreutils: v3.03-testing-fbsd.patch
gitolite-3.04.tar.gz v3.04 Vulnerable††
gitolite-3.1.tar.gz 36fc270c29e980f7217c203656373d1c44f73035fe18053163301cd10a4e0f04 v3.1 Paths
Tests require gls from sys/coreutils: v3.1-testing-fbsd.patch
gitolite-3.2.tar.gz 62d56e3910b52d0ecb53d5962d4c919ede2c6c11283c3c845605bfc643e64ab8 v3.2 Paths
gitolite-3.3.tar.gz 39d6630dd0125505e9a4b2b1e3de474e1380182ba0cc73bec3e4c08e7f62d8f9 v3.3 Paths
gitolite-3.4.tar.gz eadf21918a0da274cb3ed31e6bb7c067155d452ad4b693529ed8fadf8f3dd372 v3.4 Paths
gitolite-3.5.tar.gz 01f90f71182e49c505e163bb91173d2ce24514a16090333f2a47903652fb2beb v3.5 Bug related to gitweb integration
No port made
gitolite-3.5.1.tar.gz b527e90ea6aa0f0d5496b3e520cc4a461b130a91b1b284ffee1f20865fada7cf v3.5.1 Paths
gitolite-3.5.2.tar.gz eac8ab94350552b9740cbf900732448547533aec9759a0d03388f34ebb8d1b71 v3.5.2 Paths
gitolite-3.5.3.tar.gz v3.5.3 Vulnerable†††
gitolite- 1e1fbd05d504cedd7a364796d227527b9fff6d0ca905ef311b3e2041bc24a5d4 v3.5.3.1 Paths
gitolite-3.6.tar.gz 2510cb9e12ef138c7e96a59d5349bcf99aaf6c8de11d5d3288d18e9c0d23c4fe v3.6 Paths
gitolite-3.6.1.tar.gz 27583c912fbec75b58265dd4848c7b1cbef2ef583156b73148a6df3ae56f4035 v3.6.1 Paths
gitolite-3.6.2.tar.gz 210b86073543a01999157f6c6047cb74a5a3b7cacf7ef675e9c08d5f30a9ca46 v3.6.2 No FreeBSD port yet
gitolite-3.6.3.tar.gz aa9a7b4ae39c2eb6b0119c3421184b00787d02de1827c8d30c688688e79d9765 v3.6.3 No FreeBSD port yet
gitolite-3.6.3.tar.gz a82e861c2a5db2fffb9b6d359f8f3ed42fbb0c64f0e11881830360466270115c v3.6.4 No FreeBSD port yet

Some tests are dependent on git version for error strings and will fail.

†Default perl path in FreeBSD is /usr/local/bin/perl. Default bash path in FreeBSD is /usr/local/bin/bash.

††A security vulnerability CVE-2012-4506 has been found in gitolite 3.x < 3.1 as announced on the mailing list.

†††A security vulnerability CVE-2013-4451 has been found in a gitolite 3.5.3 as announced on the mailing list.

Contact milki for questions concerning the FreeBSD gitolite ports or the hosted tarballs and patches here. Visit us at #gitolite@freenode and #git@freenode for general help.