monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] Re: Branches in git and monotone


From: Bruce Stephens
Subject: [Monotone-devel] Re: Branches in git and monotone
Date: Sun, 20 May 2007 16:26:40 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.99 (gnu/linux)

"Julio M. Merino Vidal" <address@hidden> writes:

[...]

> - git represents a branch by storing its head's identifier.  That is,
>   a branch is stored on disk by remembering the top-most revision it
>   "contains".  No other information is needed (aside from the ancestry
>   tree that hangs from that branch, that is).
>
> - monotone attaches a branch cert to all the revisions that "explicitly"
>   belong to a branch.

Correct, I think.  (Out of curiosity, does anyone have knowledge of
how mercurial's local named branches work?)

[...]

> What I'm wondering is... can monotone's approach represent some
> situation that git cannot?

Monotone provides genuine distributed branches.  That is, my
net.venge.monotone branch is the same branch as yours.  They'll often
contain different revisions, but they're the same branch.  If we both
have a particular revision, they'll share the same history (just as
they would in git, since the revision contains references to its
history).  In monotone, you obviously also get recording of branch
names in history, so you can tell which branches a revision belongs
to.

With git my repository can have a tracking copy of your branch, but
when I commit, I commit to a different branch.  In that respect it's
similar to lots of other systems (that's how GNU Arch works, after
all, though git handles things much more cleanly, IMHO).

So I think they're just quite different models: monotone regards
branch identity as important (currently using the branch names, though
that was a mistake), and records it; git regards history as the
important thing, and lets you name branches much more fluidly as and
when you need or want to, and lets the names disappear, along with
revisions, if they're no longer referenced.

[...]





reply via email to

[Prev in Thread] Current Thread [Next in Thread]