comp.lang.ada
 help / color / mirror / Atom feed
* What is your preferred VCS?
@ 2010-07-28 23:18 deadlyhead
  2010-07-29  7:30 ` Dmitry A. Kazakov
                   ` (7 more replies)
  0 siblings, 8 replies; 38+ messages in thread
From: deadlyhead @ 2010-07-28 23:18 UTC (permalink / raw)


Since I trust the Ada community by and large when it comes to
questions of robustness and cleanliness of code, it seems fitting that
I might cast about for opinions on choosing a version control system.

My personal preference in the past has been GNU Arch.  While its
interface was a bit cumbersome, I felt it was powerful, well-built and
ahead of its time.  Unfortunately its long been a dormant project,
ever since Bzr forked from it and mutated, pulling the small community
that was forming around it away.  Tom Lord's intended successor, revc,
stalled as well due to other circumstances, and finding copies of that
code base is like playing Hunt the Wumpus.

Now, if going the distributed version control route (which is what I'm
going for), it seems that, these days, there are basically four
choices:
   Git
   Bazaar
   Mercurial
   Monotone

People/projects seem to like these for different reasons, but so far I
haven't gotten excited by any of them.

Git seems like it's pretty fast for source files (though chokes on
binaries?), and robust enough to handle huge projects like the Linux
kernel.  But it seems not so much developed/designed as hacked
together, a hodge-podge of Linus Torvalds' special brand of C+Perl
(which just makes me shudder.)

Mercurial and Bazaar, as far as I can tell, are two implementations of
the same thing.  Both are written in Python (sigh...), they have very
similar command sets, and they're very tied to the "branch" view of
version control.  The scales tip in Mercurial's favor, though, as it
has decent support for pushing over SSH, and it seems, action-for-
action, to be a bit faster than Bazaar.  (I could be completely wrong
about this.  I haven't looked into this for some time.)

Monotone has been said to be implemented in a very "Ada-like way" by
somebody-or-other who was attempting to build an Ada OS (I think
called AdaOS.  Stillborn last I heard.)  I've been poking around and I
don't see it.  It is written in C++ and uses the Boost library, both
of which I get a bit squirmy thinking about.  I have a special
distaste for C++, and have never had any success with Boost (though I
never tried very hard to use it.)

Perhaps somebody here can give me a reason to prefer any of these, or
better yet, have a completely different suggestion.  (Is there one
written in Ada?  I'm there!)  The amount of _biased_ information
available is overwhelming, and I'm having some trouble seeing the
forest for the yelling trees.

Disclosure: I know about darcs, and how it has its roots as attempting
to implement a new patching model on top of Arch.  I like a lot of its
concepts, but when it comes down to it, I don't like it enough to
force Haskell into my development flow.  I think Haskell is very
interesting and I can appreciate what it brings to functional
programming, but deep down I hack in Scheme when I'm not developing in
Ada, and just don't feel like going that route.



^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2010-08-13 20:23 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-28 23:18 What is your preferred VCS? deadlyhead
2010-07-29  7:30 ` Dmitry A. Kazakov
2010-07-29 10:31 ` Ludovic Brenta
2010-07-29 11:12 ` Stephen Leake
2010-07-29 14:27 ` Thomas Løcke
2010-07-29 15:34   ` Warren
2010-07-29 15:41     ` Thomas Løcke
2010-07-29 16:08       ` Warren
2010-07-29 16:01 ` Pascal Obry
2010-07-30  2:27 ` deadlyhead
2010-07-30  5:47   ` Thomas Løcke
2010-07-30  7:17   ` Timo Warns
2010-07-30  7:32   ` Georg Bauhaus
2010-07-30  7:41   ` Maciej Sobczak
2010-07-30 11:05   ` Ludovic Brenta
2010-07-30 17:29     ` Pascal Obry
2010-07-30 14:08   ` Warren
2010-07-30 14:28     ` Ludovic Brenta
2010-07-30 15:11       ` Warren
2010-07-30 15:34       ` Georg Bauhaus
2010-07-30 17:36         ` Pascal Obry
2010-08-01  8:12           ` Marcelo Coraça de Freitas
2010-08-01 10:13             ` Ludovic Brenta
2010-08-02 16:21               ` Marcelo Coraça de Freitas
2010-08-02 18:01                 ` Tero Koskinen
2010-08-02 16:23               ` Marcelo Coraça de Freitas
2010-07-30 17:34       ` Pascal Obry
2010-07-30 14:31     ` Ludovic Brenta
2010-07-30 15:13       ` Warren
2010-07-30 17:31   ` Pascal Obry
2010-07-31 15:20     ` Stephen Leake
2010-07-31 16:40       ` Pascal Obry
2010-07-30 20:56   ` Karel Miklav
2010-07-31  7:29     ` Pascal Obry
2010-08-03  4:21     ` Randy Brukardt
2010-07-31 15:28   ` Stephen Leake
2010-07-31 11:58 ` Alex R. Mosteo
2010-08-13 20:23 ` nobody

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox