[ale] Central git repository with multiple users

Michael B. Trausch mbt at zest.trausch.us
Fri Sep 25 00:11:33 EDT 2009


On Thu, 2009-09-24 at 22:08 -0400, Ed Cashin wrote:
> Using a distributed system like git in this way helps the flow of
> changes to reflect the human relationships.  If that isn't desirable,
> maybe svn would be a better choice, since it was created for
> people seeking to do what you appear to be interested in doing. 

I don't know how git is in terms of workflow flexibility, but at least
in the case of bzr (the DVCS that I use, which for me replaced
Subversion) it's infinitely flexible in terms of workflow.  You can have
a central workflow where people checkout a branch and bind it to the
remote so that you go through the same "bzr co ; (...edit...) ; bzr up ;
bzr ci" that Subversion developers are used to, or it can be used in a
fully distributed fashion similar to the "lieutenant" model that
Torvalds and the kernel developers use.

Even when used in the same way as a CVCS, there are significant
benefits.  For example, the users _can_ unbind their branches and work
off-line if they wish, and then rebase their changes when they get back
on-line, resolve any conflicts, and commit their changes then (or simply
merge back to the reference source).  It also lets developers gradually
move from a fully identical workflow that they're used to, to the point
where they gradually use new DVCS features, such as cheap local
branching to experiment with changes or work on long-lived feature
branches that are assigned to them and not on the server.

It also makes backing up the repositories really easy; whereas with
Subversion you have to go to the server and run "svnadmin dump" on the
repository, you can just "bzr branch" (or "bzr clone") all the branches
that you're interested into a local shared repository and then back that
up, which is fast and efficient (since you can keep the backup copy
nearly up-to-date all the time).

Of course, there is always the option of using a Subversion server and
give the individual developers the choice of using svn, git, or bzr for
their work, though it's not as flexible as using DVCS all the way
around.

	--- Mike

-- 
Blog:  http://mike.trausch.us/blog/
Misc. Software:  http://mike.trausch.us/software/

“The greater danger for most of us lies not in setting our aim too
high and falling short; but in setting our aim too low, and achieving
our mark.” —Michelangelo



More information about the Ale mailing list