monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Branches in git and monotone


From: Julio M. Merino Vidal
Subject: [Monotone-devel] Branches in git and monotone
Date: Sun, 20 May 2007 14:05:51 +0200

Hi,

Let's see if I understood it correctly as regards how branches are represented in both git and monotone:

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

git's approach seems simpler and, at the same time, more flexible. It allows the user to define custom branch names and change those names at any time, given that they are local (which also prevents name clashes among different databases). It also allows to "push" local branches against other ones, forgetting that that local branch ever existed. monotone, OTOH, doesn't allow this: any branch easily ends up being public, and name changes are not possible.

However, git's approach does not allow the representation of multiple heads within a branch, but changing it to allow this could be trivial (just attach multiple revids to a branch name).

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

Thank you!

PS: I don't know what the "policy branches" (or whatever they are called) will change in this area. Maybe everything (making it more git-like), and then my question is pointless now ;-)

--
Julio M. Merino Vidal <address@hidden>






reply via email to

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