aboutsummaryrefslogtreecommitdiff
blob: e478ad49229fc139680f8b80e68de4a54fc49aa7 (plain)
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
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 "<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