Re: Version control

Daniel Pittman <[email protected]>
Newsgroups gmane.org.user-groups.slug.chat
Organization I know I put it down here, somewhere.
Message-ID <[email protected]>
Erik de Castro Lopo <[email protected]> writes:
> Alan L Tyree wrote:
>
>> Looking for some advice. I have used RCS version control for writing
>> LaTeX documents for some time, but am looking at the advantages of
>> using a distributed version control system.
>>
>> Are there any serious advantages of one over the other?

Yes, some social and some technical.

>> I have played around a little bit with Bazaar, but would like to make
>> sure before I commit (oh!) to one system or another.
>
> I have used GNU Arch

Don't do it!  You don't need that much pain in your life.  Very user
hostile UI, and not very popular.

> Bzr

This is quite a reasonable choice, being the number three DVCS out
there.  Canonical, and so Ubuntu, make extensive use of it, and it is
probably the most user friendly tool.

Performance was abysmal, compared to either Mercurial or git, since it
took at least a couple of seconds, cache hot, to do *anything* on my
machine.  It ran respectably, though, after that initial startup cost.

Oh, and expect to play "repository format of the month" to gain access
to the various features: they had two or three active repository formats
in any given release, when I was actively using it, with slightly
discontinuous feature sets.

Oh, and it plays well with SVN upstream repositories.

> CVS

Don't touch it.  Also, not a DVCS.

> Darcs

This is an interesting tool.  Their theoretical underpinnings are very
strong, and allow various features that are hard to manage with other
tools; instead of a linear or acyclic graph of development Darcs models
the repository as a series of independent acyclic graphs of patches.

It also has a fanatically faithful following; this is one of those tools
you either love to bits, or you find it vaguely strange that people care
that much.

They had, for an awfully long time, a number of livelock problems, which
they may /finally/ have resolved, but hadn't a few months back when I
looked.

Performance is also dreadful when merging with other repositories, since
they have some greater than O(n^2) work to do in some cases.

> Git

Using the 1.5 or 1.6 releases, this is relatively user-friendly,
although not close to Mercurial or Bzr.  Performance is amazingly good,
and the design makes it possible to do very cool things.

This is the number one DVCS out there, in terms of popularity, and
supports more or less any development model.  Unless you use Windows, of
course, at which point it more or less sucks.

I use this, personally, and would generally recommend it for development
teams on Unix, but not for situations where non-developers needed to
work with the VCS.

> Hg

Very user friendly, and great performance.  This is the number two DVCS
out there, and has a number of cool features that I miss now I have
moved to git.

It has a lot of big project backing, and is generally an excellent
choice.  The design is also excellent and well backed, technically.

> Perforce

Non-free, a royal PITA, only vaguely a DVCS, overshadowed by other
tools.  If you really need to work with it the git-p4 support is
probably a better bet than the real client...

> SVN

Not a DVCS, but an excellent choice for some uses.  The model is
conceptually simple, Windows support is great, and it doesn't have many
features, so it doesn't confuse less technical users.

I recommend this when you need a simple "master" repository as the heart
of the project; developers can use the Bzr or git SVN integration to get
access to a highly-featured tool, and non-technical users can talk
directly to SVN.

Um, don't use SVK though, because it sucks.

> and probably some others.

Not that are worth considering.

> I find them all a PITA, but of all the ones I've tried, Bzr is the
> least painful :-).

That would be about right, with Hg next and then ... it varies.

> BTW, I would have thought this was appropriate content for the main
> SLUG list.

Yeah, I think it would have been.

Anyway, Alan, did you have some specific questions?

Regards,
        Daniel
-- 
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.