emacs-devel
[Top][All Lists]
Advanced

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

Re: patch vs. overwrite in bzr


From: Stefan Monnier
Subject: Re: patch vs. overwrite in bzr
Date: Wed, 04 Apr 2012 14:07:25 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux)

>> Yes, 2-way syncin is another issue, one that we need to solve rather
>> than get rid of.
> If someone could describe the use cases and the requirements and post
> that to the bzr mailing list, perhaps we could get some good advice
> there, or maybe some useful plugins.

Last time I posted about it (several years ago), it didn't elicit
much reaction.

IIUC it's just difficult to do it "right" because it's largely
incompatible with the way metadata/history is kept.  The best you can
get is good support for two-way sync between identical branches (which is
what we all use, where one of the branch is local to our machine and
the other is on bzr.sv.gnu.org), but as soon as the two branches are
supposed to be different the model breaks down.

The problem is similar to cherry-picking, but reversed: you want to be
able to get all changes except for a few negative-cherrypicks.  E.g,
"pull/merge from the Org branch all changes except for those few ones we
don't want" (and inversely, they want to "pull from the Emacs branch,
except for the file-renamings they did to adapt to their directory
layout").

Since the currently supported metadata can't be used, the solution ends
up having to be "manual" and can probably work equally well for most
VCS.  E.g. keep "tags" on both branches that record the last sync, and
when a new sync is attempted, get the diff since last sync on each
branch (using the tags), apply the patch to the other branch, commit and
update the tags.


        Stefan



reply via email to

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