comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: version control systems
Date: Sat, 10 Feb 2007 08:00:39 -0500
Date: 2007-02-10T08:00:39-05:00	[thread overview]
Message-ID: <ubqk2upzc.fsf_-_@stephe-leake.org> (raw)
In-Reply-To: 87fy9genlo.fsf@ludovic-brenta.org

Ludovic Brenta <ludovic@ludovic-brenta.org> writes:

> 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.

Although now I see there is also a Cygwin package for monotone.

>> 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.

That is an interesting point.

> 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

Thanks for that. I did wonder about the storage efficiency of git. I
could not believe they actually stored a whole new file for each
revision! The "pack" option was not mentioned in the git manual I
read.

>> 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.

That's true.

> 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).

Well, I have not actually started using git. In fact, there's a
problem compiling it on Lynx (the real-time OS that is my main
application's target). So I'll give monotone a try.

-- 
-- Stephe



  parent reply	other threads:[~2007-02-10 13:00 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
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                     ` Stephen Leake [this message]
2007-02-10 19:40                       ` version control systems 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