[SoC] Rebase feature - Introduction
Stefano Tortarolo
stefano.tortarolo at gmail.com
Tue May 27 12:31:37 CDT 2008
Matt Mackall wrote:
> On Mon, 2008-05-26 at 16:09 +0200, Stefano Tortarolo wrote:
>> Hi,
>> I've been working on my SoC project for some time and now I'm ready to
>> show you something...
>> I'm also writing a paper to describe what my project consists in. I
>> think it can be useful to create a common field between me and you.
>>
>> Currently it's available a very first prototype that can handle very
>> simple situations, but can't handle complex ones described in the paper
>> nor user interruption/restore.
>> Actually, if you try to rebase on the same branch it recognizes that
>> situation, but it won't allow you to do that.
>
> This is good as far as it goes, but I think you ought to think through
> the trickier cases before you code too much further. Like how to rebase
> branches containing internal or external merges.
>
Yes, I'm already working on it... I haven't found a solution yet, there
are a lot of corner cases.
For example, let's consider this situation:
o 9: R1
|
| o 8: L4
| |\
| | o 7: E3
| | |
| | o 6: E2
| | |
| o | 5: L3
| |\|
| | o 4: E1
| | |
| o | 3: L2
| |/
| o 2: L1
|/
o 1: C2
|
o 0: C1
What should happen if I tried to rebase 5 on 9? The parents of 5' should
be 9 and what? 3 or 4? I think none of them, that's why the rebasing of
a merge revision shouldn't be allowed in this case.
What do you think? Is there something wrong?
Stefano
More information about the Mercurial-devel
mailing list