1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
|
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
|