Re: [ANNOUNCE] Example Cogito Addon - cogito-bundle

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [ANNOUNCE] Example Cogito Addon - cogito-bundle

From: Matthieu Moy <hidden>
Date: 2016-06-15 22:42:44

Jakub Narebski [off-list ref] writes:
Ah, that explains this. So why people use bundles instead of patches
(with some metainfo like commit message)?
You need more metainfo than the commit message. Since revision-id is
not based on the content, you need at least to specify the
revision-id.

And bzr's bundle give indeed _all_ the information that is in the
repository about this revision (i.e. commit message, ancestors, ...).

Another relevant difference between a patch and a bundle is that the
bundles knows its ancestor, so, when you apply the bundle, it builds
the new revision with exact patching. If you need a merge, then it
will happen exactly in the same way as a merge between two branches
(ie. three-way merge for example).
And do bzr have command to apply in correct ordering series of
bundles send either chain replied to (each patch in the series is
reply to previous patch) or being replies to patchseries
introductory message?
Not directly AFAIK, but since the bundle knows which revision it
applies to, it will refuse to apply the second if the first one is not
in your repository already for example.

It would probably be interesting to have more features to help sending
series of bundles and apply them, but no one have been really asking
for it up to now.

-- 
Matthieu

Re: [ANNOUNCE] Example Cogito Addon - cogito-bundle

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:44

Matthieu Moy wrote:
Another relevant difference between a patch and a bundle is that the
bundles knows its ancestor, so, when you apply the bundle, it builds
the new revision with exact patching. If you need a merge, then it
will happen exactly in the same way as a merge between two branches
(ie. three-way merge for example).
By the way, if patch send via email is git enchanced patch, with
[shortened] sha1 of blobs (file contents), and our repository has
the blob the patch is supposedly to apply to (but for example line
of development moved forwards) we can request via --3way command
option to git-am to fall back on 3-way merge if the patch doesn't
apply cleanly.

It is not as powerfull as merge of branches, but it is sufficient
in most cases. And in other cases you have to resolve conflict by
hand, anyway; git-rerere (which records resolving of conflicts and
reuses them) can help there.
-- 
Jakub Narebski
Poland
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help