[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] trunk r117980: Merge from emacs-24; up to r117522.
From: |
Stefan Monnier |
Subject: |
Re: [Emacs-diffs] trunk r117980: Merge from emacs-24; up to r117522. |
Date: |
Wed, 01 Oct 2014 13:44:32 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) |
> It strikes me that the VCS could merge all the commits up to the one I
> want to cherry-pick, and then revert all the rest. But I guess there
> are complications with this strategy, or else it would have been
> implemented already.
The problem is not only how to perform the merge, but how to *remember* it.
I.e. so that next time you merge from emacs-24, it will know that it
needs to merge all the changes except for the ones that were already
cherry-picked.
BTW, It gets interesting pretty quickly:
- Say I have a local branch `Stef'.
- `Stef' generally tracks `trunk'.
- I cherry-pick into `Stef' revision 57 and 93 from `emacs-24'.
- Someone merges `emacs-24' into `trunk'. I.e. commit 187 from `trunk'
is a "merge commit" that merges all changes from `emacs-24' upto
revision 98.
- Now I want to update `Stef' by merging the latest `trunk' (which is
now at revision 192) into it. Should commit 187 be merged as well?
The answer is "yes but no":
- yes, because it brings changes from `emacs-24' which we don't yet have.
- no, because it would bring changes from `emacs-24' which we already applied.
So it could try to "take revision 192, try to reverse the changes from
revisions 57 and 93" and then apply the result to `Stef', but as you
can see.
Stefan