comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Ada Reference Manual in texinfo format?
Date: Thu, 08 Feb 2007 15:21:55 +0100
Date: 2007-02-08T15:21:55+01:00	[thread overview]
Message-ID: <87fy9genlo.fsf@ludovic-brenta.org> (raw)
In-Reply-To: ups8keq26.fsf@stephe-leake.org

Stephen Leake writes:
> I've finally decided I need to use a distributed CM system at work
> (I've been using CVS). I'm looking into using 'git', mostly because
> there is a Cygwin port for it, and the Linux kernel developers use
> it, so I think it is well-supported.

Yes, and X.org also uses it for the same reasons.

> For a similar purpose (trusted vs untrusted committers), they
> recommend using branches. Apparently it is easy in git to
> synchronize two branches periodically.

Yes.  All the new distributed VCSs handle and keep rack of merges
properly, so repeated merges are usually not a problem.  GIT also
allows you to crypto-sign revisions, but that's optional whereas in
Monotone it is mandatory.  How can you trust unsigned revisions?  The
only way is to review them manually.  How can you ascertain their
origin, if someone challenges your copyright?  You can't.

My other gripe with GIT is that it requires a new repository for each
working copy.

On the other hand, I like its append-only storage mechanism where you
can pack a repository on a CD-ROM and "append" to it in your working
copy.

Perhaps the biggest advantage GIT has over Monotone is its ability to
serve repositories from dumb HTTP/scp servers.

All in all I think that GIT is pretty good, but Monotone is even
better.  I even wrote a paper about this:

http://www.ada-france.org/debian/distributed-version-control-systems.html

> That seems more straight-forward to me than the monotone trust
> mechanism.

I'm not sure how straightforward that is; I think this model is
fundamentally flawed.  In a distributed VCS, anyone can commit to any
branch they please, since they control their own repositories.
Therefore, you don't trust "branches" but "revisions".

So, in GIT, you'd have to carefully merge from a published but
untrusted branch (i.e. one containing untrusted revisions) to your
unpublished and trusted branch, and manually apply your trust criteria
on each merge.  GIT does not allow you to keep track of which
revisions you chose to trust the last time you merged, so each time
you merge, you may see the same untrusted revisions again and again.

In Monotone you'll never see the untrusted revisions at all, if you
don't want to; and you can "approve" a revision to record the fact
that you trust it.  Granted, it seems more complicated but it is also
more correct, IMHO, than GIT's model.

> But I'd have to actually use both on a real project to be sure. Of
> course, I don't have the time for that :(.

In a few years, maybe there will be a clear winner between svk, GIT,
Monotone, Mercurial, Bazaar-NG, Arch and Darcs, but in the mean time,
I've come to terms with the notion that I'll use many VCSs
concurrently, perhaps a different one for each project.  I have no
problem using GIT to update Debian, if that's what you want.  (I do
have a problem with svk and Subversion, though).

-- 
Ludovic Brenta.



  reply	other threads:[~2007-02-08 14:21 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-01 21:56 Ada Reference Manual in texinfo format? Ludovic Brenta
2007-02-01 23:07 ` Randy Brukardt
2007-02-02  1:19   ` Robert A Duff
2007-02-02  8:28     ` Ludovic Brenta
2007-02-02 20:52       ` Randy Brukardt
2007-02-05  9:09         ` Jean-Pierre Rosen
2007-02-06  0:46           ` Randy Brukardt
2007-02-03 18:56   ` Stephen Leake
2007-02-04 20:19     ` Stephen Leake
2007-02-04 21:46       ` Ludovic Brenta
2007-02-05 12:54         ` Stephen Leake
2007-02-05 13:12           ` Ludovic Brenta
2007-02-06  0:42             ` Randy Brukardt
2007-02-06  9:00               ` Ludovic Brenta
2007-02-08 13:28                 ` Stephen Leake
2007-02-08 14:21                   ` Ludovic Brenta [this message]
2007-02-08 15:58                     ` Robert A Duff
2007-02-08 16:23                       ` Ludovic Brenta
2007-02-08 16:36                         ` Ludovic Brenta
2007-02-08 21:26                           ` Pascal Obry
2007-02-08 22:13                             ` Ludovic Brenta
2007-02-10 13:00                     ` version control systems Stephen Leake
2007-02-10 19:40                       ` Ludovic Brenta
2007-02-12  7:20                         ` Dirk Heinrichs
2007-02-12  9:43                           ` Ludovic Brenta
2007-02-13  9:11                             ` Dirk Heinrichs
2007-02-05  2:10       ` Ada Reference Manual in texinfo format? Robert A Duff
2007-02-05 12:55         ` Stephen Leake
2007-02-05 13:16           ` Ludovic Brenta
2007-02-05 14:10             ` Georg Bauhaus
2007-02-11  3:09       ` Stephen Leake
2007-02-11  3:56         ` Randy Brukardt
2007-02-06  0:33     ` Randy Brukardt
replies disabled

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