Michael Olson <mwol...@gnu.org> writes:

> git mailing lists always use "[PATCH]", don't know about others. 

Bzr has this notion of "merge directive", which can take several
forms. In any case, this means "here's a piece of my repository, can
you merge it into yours?".

This can be done with a URL, or with the appropriate data included in
the merge directive, to allow the recipient to reconstruct the piece
of history before merging it. In practice, this looks like a patch,
with a base revision somewhere in the meta-data, but it's slightly
different: In Git, if I have this history

A
 `-- B

and you have

A --- C --- D

and I use git format-patch or send-email to send you B, you'll apply
it on top of your branch and get

A --- C --- D --- B'

With bzr's merge directives, you'll first apply it to get the very
same B as me :

A -- C --- D
 `-- B

and then merge it

A -- C --- D--- E
 \            /
  `-- B -----'

So, in the end, it's really a "merge", hence the name used.

Cool thing with bzr's approach: you don't loose history at all, B is
there, exactly the way I've written it. Bad thing: it makes the
history (unnecessarily) complex. Git's philosophy is usually to clean
up the history before including it in the main repository.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

_______________________________________________
Dvc-dev mailing list
Dvc-dev@gna.org
https://mail.gna.org/listinfo/dvc-dev

Reply via email to