Stephen Leake <[EMAIL PROTECTED]> writes:

> Hmm. In one sense, everything in bzr is a "merge", because every
> developer has their own branch. That's part of my confusion. I prefer
> a system where everyone shares the same branch, via some sync
> mechanism. Monotone has that; I believe git does also.

The underlying model is actually the same in all cases :

* The set of revisions is a DAG

* Each user usually have a subset of all the revisions existing in the
  world for a given project, and push/pull revisions from a repository
  to another.

* A user can commit locally a new revision which can be the successor
  of any other revision.

So, for example, if I start a project with linear history

o --> commit 1 --> commit 2

and publish it, it's possible that two users commit two successors for
commit 2, like

o --> commit 1 --> commit 2 --> commit 3
                            `-> commit 3'

and conceptually, this involves branching, and later requires merging.

In Bzr, you'd call the succession of commits leading to 3' and the one
leading to 3 two different branches. Same goes for Git (but the local
name of branches can be the same). AAUI, monotone would call that a
single branch with multiple heads. But conceptually, the difference is
weak.

-- 
Matthieu

_______________________________________________
Dvc-dev mailing list
[email protected]
https://mail.gna.org/listinfo/dvc-dev

Reply via email to