gitolite/doc/CHANGELOG

326 lines
10 KiB
Plaintext

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.1
- fix bug where config statements would get ignored if you had a description
set. The biggest problem was that this would affect mirroring.
- 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 "<hookname>.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