[Top][All Lists]
[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.
[...]