git notes main page | gitolite main page | license

IMPORTANT NOTE: although this page has a "gitolite.com" URL, this is not about gitolite. That's just an artifact of "sitaramc.github.com" being translated to "gitolite.com" and so ALL my git related stuff gets carried over. Gitolite documentation has another /gitolite in the URL, so you can tell. My apologies for this confusion.

dev/integ workflow

1 workflow

This is one possible workflow for dev/integ using gitolite. It assumes that there is one “integrator” and N developers “dev1”, … “devN”.

1.1 branches

1.2 assumptions / startup:

1.3 developer workflow

We use a sample developer called dev5 in the examples below.

dev5 gets some work/spec/issue to work on. He is given, or chooses, a short name for the work he is doing. Examples:

xyz-module-error-23
bugfix-2321
issue-3394
add-vorbis-support

In the rest of this example we will use issue-3394

now he’s ready to send. In the meantime, integ may have moved ahead, and he has to make it work against that:

1.4 integrator

2 gitolite advanced features supporing this flow

Here’s a typical gitolite conf file:

@myteam = dev1 dev2 ... devN

repo myrepo
    RW+                 = integrator
    RW+ dev/USER/       = @myteam

That’s it? How does, say dev5 (assuming he is a member of @myteam), get access to write to dev/dev5/something?

That is a unique feature of gitolite :-) When a rule has the string /USER/ in the “refex” (see gitolite documentation for details), it replaces it with the name of the user invoking the push. This is effectively the same as manually adding one line like this

    RW+ dev/sitaram/    = sitaram

for each member of @myteam.