Major changes to gitolite, master branch only, most recent first, no dates but the tags can help you position stuff approximately [NYD = not yet documented due to lack of time...] - v2.3 - added "M" permission to allow enforcing a "no-merges" policy. - gl-setup is a little more puppet-friendly. To be specific, you can now manage gitolite without having gitolite-admin as a repo, such as can happen with puppet and such. The commit message for d08aca6 has details and a script that may help you if you're doing this. - v2.2.1 (caused by minor bug re not handling blank lines in authkeys file) - ADCs gained new functions can_{read,write,create}, is_admin, and in_group. - v2.2, gpg signed :-) - major change to the online rendered docs to make them more readable - (lots of nice documentation additions: gitolite in pictures, "user" manual, gitolite.conf by example, ...) - (minor backward compat breakage) if you're using svn or rsync support. You can still use them but they work differently now. - git-annex support via unrestricted ADC (i.e., whose arguments are NOT checked by gitolite) - eliminated almost all hardcoding in test suite. This helped create a "playing with gitolite" mode for "try before install" scenarios. - deny rules for the first level access check! - v2.1 - 'symbolic-ref' ADC replaces and obsoletes 'set-head' - BIG CHANGE: easy-install ('from-client' method) is now HISTORY from the docs and code. Upgrade to one of the other methods. Look for a section on "upgrading from from-client method to non-root method" in the docs - nice new "password access" mode for people who can't grok ssh keys - new program gl-dryrun, to be run in any admin repo clone, to check syntax errors etc before you actually push - very complex mirroring setups now have a helper script to setup - behanw contributed a better converter for gitosis - the mirroring stuff is just out of this world now... - new 'subconf' feature to explicitly delegate; the implicit one is now legacy, but is backward compatibly handled so you don't need to fix your config - delegation now allows includes in fragments -- no idea why we first disallowed this - fix accumulation and sequencing of git config lines; very important for mirroring (coming up) - v2.0.3 - gl-dont-panic replaced by more generic gl-admin-push - v2.0.2 - self-service key management - (from-client install method is now loosely deprecated) - su-setperms and su-getperms, like su-expand -- allow an admin to get/set perms on behalf of some user - 'delete-branch' ADC -- this is the most practical way to allow someone to delete a branch that they themselves created; see commit message for 89b68bf - v2.0.1 - "hooklets" allow you to have any number of site-local 'update hook' scripts play nicely with gitolite - the "include" statement can now use globs -- makes some types of setups sooooo easy! - mirroring finally tested properly after v2 - 'hub' adc (pull requests etc) - s3backup ADC contributed by Bremner - warn() and die() are now logged - v2.0 - gl-pre-git hook added - 'hub' adc added - v2.0rc2 *** V1.5.9.1 -- IMPORTANT SECURITY FIX; PLEASE UPGRADE IF YOU'RE USING SOMETHING OLDER THAN THIS ONE - supercool new 'git' adc; so cool it's disabled by default - '-prune' added to find commands; makes a big diff if REPO_BASE is NFS/CIFS mounted - first python ADC contributed -- 'perms' makes setperms etc easier to do - 'set-head' ADC added - v2.0rc1; major refactor - v1.5.9 - Nokia MeeGo team contributed ldap scripts - large configs should now be twice as fast (except when gl-perms exists) due to my finding and eliminating a wasted parse_acl - major change: split the config file when in big-config mode (includes a data format change) - GL_ALL_READ_ALL to make things much, (MUCH!) faster for sites where all can read all repos (like Fedora) - rc file revamp -- was getting too big and unwieldy; now the documentation is in a new file instead of inline - allow gitolite to be used even when users have real IDs (thus $HOME is not valid to find the rc file); allow /etc/gitolite/gitolite.rc then - BIG one for adc writers -- full blown access checks (ref level) can be done from an ADC now (though it has to be in perl, not shell)! - allow full access checks from perl (shell can only do level 1 checks); useful in hooks or ADCs - v1.5.8 - Jeff from KDE contributed the watch ADC - allow disabling gitolite (write access only) to take backups - document how to move gitolite from one server to another - custom permissions categories (default being READERS and WRITERS) for setperms (thanks to Jeff from KDE for the idea/need) - v1.5.7 - "help" adc can allow site local help text to be shown - "who-pushed" adc to find out who pushed a given commit - rmrepo adc replaced by lock/unlock/rm and trash/list-trash/restore families of commands - v1.5.6 - new method for passing usergroup info (minor backward compat breakage); see commit message and doc/big-config.mkd for more on this - added "sudo" (adc) - added "gl-reflog" (adc) to get a fake reflog from the server! - added support for a post-repo-create hook called "gl-post-init" - (BIG ONE!) SMART HTTP SUPPORT! - @all can now include gitweb/daemon also (default, not include) - allow @groups in setperms - gitweb/daemon now work within setperms - log elapsed time (optional) - more than one wildcard may match a repo, plus it can also be matched by a normal repo line - test suite has lots of new tests for the below - (big change) all combinations of wild repos and big configs, including daemon/gitweb/git-config settings, should work now! - v1.5.5 - mirroring support - setup_authkeys is now separate; can be called from outside also; useful for people who want to maintain ssh keys via LDAP or something, and not within gitolite - (two months too late for towel day) gl-dont-panic! [replaces the old "gl-emergency-addkey" program. It does more (including recovering from a botched push, not just lost keys), is cleaner, and works for all install methods] - document on how to create a mob branch - info command now takes a parameter to limit output; this is mandatory if GL_BIG_CONFIG is on - v1.5.4 - new RC variables: GL_NO_CREATE_REPOS and GL_NO_SETUP_AUTHKEYS (inspired by the specific needs that Fedora have, but made as generic as possible) - separating push branch rights from create branch rights changed to use the same mechanism as the (older) mechanism for separating rewind from delete - v1.5.3 - log file format changed; minor backward compat breakage if you've been doing any automated log processing - some small but important doc updates - adc "fork" now much faster and more space-efficient (uses git clone -l) - v1.5.2 - added test suite - v1.5.1 - disallow creation of new refs if you want (while allowing push of the same) - adc "able" command added to contrib - easy-install now takes a host-nickname parameter for convenience in installing more than one gitolite server - major doc revamp; contrib/autotoc added to make docs look nicer - eliminate the need to run gl-setup on data version change, thus hopefully obsoleting the upgrade note for v1.5 (just below). - v1.5 -- IMPORTANT UPGRADE NOTES below Upgrading to v1.5 from any version prior to v1.5 requires an extra step for people who installed gitolite using the "system install / user setup" method described in doc/0-INSTALL.mkd. For such installations, after the administrator has upgraded gitolite system-wide, each "gitolite host" user must run `gl-setup` once (this time without any arguments). - "deny" rules should now work even in "big-config" due to previous change - proper rule sequencing (required major format change) - allow usergroup info to be passed in from outside, say via LDAP; see doc/big-config.mkd for details - (new) big-config is now part of mainline (old one had bitrotted); see doc/big-config.mkd for details - gl-system-install: help people simulate an RPM/DEB install by just running that commmand with appropriate arguments; see doc/0-INSTALL.mkd - admin-defined commands; see doc/admin-defined-commands.mkd - v1.4.2 (prep for major refactor on rights queries - v1.4.1 (security fix) - REFUSE TO RUN ON SERVER GIT < 1.6.2 (do NOT upgrade gitolite to or beyond this point if you are unable to upgrade git itself to at least 1.6.2) - "D" must be combined with RW or RW+ (warning: minor backward compat breakage) - v1.4 - recurse through keydir for pubkeys - bypass update hook if GL_BYPASS_UPDATE_HOOK is available in ENV - new server-side program "gl-tool", subcommand "shell-add" - new "D" permission (makes RW+ no longer imply "D" if used) - @all for repos is now a true @all - allow setperms to specify @all - post-update hook and gl-setup should be dash compat now - workaround for a Data::Dumper crash; see 412a691 - both hooks chain to ".secondary" now - new style personal branches (see 2456cc1 for advantages) - v1.3 - easier to move repos into gitolite - pattern for expand is no longer anchored - v1.2 - distro packaging support -- easy to install systemwide now - v1.1 - contrib directory added - expand now lists non-wildcard repos also - refs also have groups now - allow admins to get "info" for other users - wildrepos merged - getdesc and setdesc for wildrepos - htpasswd subcommand - access control for rsync - v1.0 - sshkeys-lint program added, doc/6 revamped - @SHELL in config changed to $SHELL_USERS in rc - "include" mechanism - delegation now uses NAME/ instead of branches - PATH/ changed to NAME/ - @SHELL in config - use of @all for repos also (see doc for caveat) - config entries for repos - deny rules (no more "rebel" branch!) - PATH/ - specify gitweb owner - v0.95 - easy install can run from msysgit also - v0.90 - allow admin defined hooks - specify gitweb desc - v0.85 - emergency addkey program - v0.80