[Dart] anyone using Mercurial or Darcs?

Brandon Van Every bvanevery at gmail.com
Wed Jul 18 12:44:45 EDT 2007


On 7/18/07, Mathieu Malaterre <mathieu.malaterre at gmail.com> wrote:
> [Taking if of list for now]
>
> > Every repository is a fully working repository.  If there's 1
> > repository that a group is using as "the official" repository, that is
> > by convention only.
>
> If you plan to use Dart, then yes you need to quickly define which one
> is the 'official' one.

I don't see why.  I assume that Dart can build multiple repositories
on the same machine.  3rd parties could run their own Dart servers if
they wanted to deal with the hassle of it.

> > You are limiting yourself to a centralized server mode of thinking.  I
> > certainly wouldn't want to *test* everyone's private repositories, but
> > tracking the differences between them is trivial.
>
> don't understand. Why in the first place is there so many branches.

Whether there are or aren't is totally up to you.  If you want tons of
'em, you can have 'em.  Branching and merging are cheap.

> Isn't it only during a very short time that you have those local
> mirrors ?

No, every user always has at least 1 local mirror.  Same as every
Subversion user has a Subversion client.  Otherwise nobody would be
able to do anything.  It's just that in distributed source, the local
repository is a fully working repository.  If they wanted to set it up
as a server, start pushing and pulling from that to other places, they
could.

> In the end if you have a bug fix you want everybody to have
> it...to push it to everybody.

In principle, that's not essential.  A sufficiently large network of
users could just push and pull patches around at their whim.  You'd
have transmission delays of course.  Not everyone would see a given
patch at the same time.  It would depend totally on how often various
parties wanted to communicate with each other.

In practice, engineering teams do tend to centralize for QA purposes.
But when you look at open source, and people getting huffy about
project priorities, and code forks, you start to see the potential of
the fully distributed model.

>
> > Can't help you there.  Your notion of "good" is strange.  Do you have
> > any experience with distributed version control at all?  If not, I
>
> no :) I was just trying to get some notions by comparing to something I know.
>
> > suggest you suspend judgment until you've tried it.  Or you could look
> > around for Mercurial and Darcs' major users and see what they have to
> > say about it.
> > http://www.selenic.com/mercurial/wiki/index.cgi/ProjectsUsingMercurial
> > http://wiki.darcs.net/DarcsWiki/ProjectsUsingDarcs
>
> That's the usual bs for upper manangement.

Whatever dude.  I told you about our experience with Chicken, and
you'll notice the 2nd user on the Mercurial list is Mozilla.  If you
think we're all a bunch of dummies then go make your own mistakes.  I
can lead you to water, I can't make you drink.  You've got lists of
hundreds of people you can ask why this is any good.

> From the top of my head KDE
> and gcc are using SVN and it does not add anything ...

What is SVN supposed to add?  As far as I know, it's a cleaned up CVS.
 Which is certainly reason enough to migrate from CVS, but it's
nothing startling.

> Anyway I guess I have grown up too long in the VTK/CMake/ITK/ParaView
> extreme programing style, where only CVS HEAD is stable.
>
> But seriously I am really missing the point on why you would need a
> revision system just for a short period of time. Or I guess do you
> have any example of why maintaining a branch (how much work this is
> vs. gain) ?

>From Mercurial's standpoint, it is 0 work to maintain a branch.  You
can have them for free, and they all work with each other.  That's the
advantage of a strong patch theory.  From a QA and political
standpoint, branches are as much or as little work as the people
you're working with and your project goals.


Cheers,
Brandon Van Every


More information about the Dart mailing list