Summary: DONT forget to run src/gl-compile-conf as the last step in the upgrade Details: The compiled file format has changed quite a bit, to make it easier for the rebel edition coming up :-) compile: - we don't split RW/RW+ into individual perms anymore - we store the info required for the first level check separately now: (repo, R/W, user) - the order for second level check is now: repo, user, [{ref=>perms}...] (list of hashes) update hook logic: the first refex that: - matches the incoming ref, AND - contains the perm you're trying to use, causes the match loop to exit with success. Fallthrough is failure
2.4 KiB
upgrading gitolite atomically
general upgrade notes
If you follow the steps below, you can make the upgrade "atomic", so you don't have to do it at a "quiet" time or something.
-
untar the new version to some temp directory and
cd
to it -
prepare the new version of
~/.gitolite.rc
. It must have all the variables defined inconf/example.gitolite.rc
(the "new" rc file), because the new versions of the programs will be depending on seeing these variables.However, it must also retain any customisations you made to the old variables.
So this is what you do:
- make a copy of
conf/example.gitolite.rc
as~/glrc.new
- if your current
~/.gitolite.rc
had any customisations (where you changed the defaults in some way), edit~/glrc.new
and make those same changes there
- make a copy of
-
upgrade the rc file first
cp ~/glrc.new ~/.gitolite.rc
-
upgrade the software
src/install.pl
-
compile the config once again, in case the internal format of the compiled config file (
$GL_CONF_COMPILED
) has changedsrc/gl-compile-conf
And you're done.
upgrade notes for specific versions
If any extra steps beyond the generic ones above are needed, they will be listed here, newest first.
upgrading from 86faae4
Between 86faae4
and this version, gitolite had a major change in the
internal format of the compiled config file. Please do not omit step 5 in
the generic instructions above.
upgrading from 5758f69
Between 5758f69
and this version, gitolite learnt to allow "groupnames" for
repos as well. The conf/example.conf
has been recommented to explain the
syntax but it's really a no-brainer: what you could previously do only for
usernames, you can now do for reponames also.
upgrading from abb4580
Two new features (personal branches, and customisable logfile names/locations)
have been added between abb4580
and this version.
-
if you want to enable the personal branches feature, choose one of the alternative values given for
$PERSONAL
or change it to something you like; by default it is empty, which disables the feature -
if you want the log files named or grouped differently, choose one of the alternative values for
$GL_LOGT
. Note that if you choose to put them in some other directory than the default, you must create that directory (mkdir
) yourself; gitolite will not do that for you