Question about rebase behavior

Christian Boos cboos at neuf.fr
Thu Oct 7 18:49:11 UTC 2010


  On 10/7/2010 8:33 PM, Matt Mackall wrote:
> On Thu, 2010-10-07 at 11:55 -0400, John Peberdy wrote:
>> No, we want to push A but not B - this is the desired result:
>>
>>
>>   @         A
>>   |
>>   | o       B
>>   | |
>>   o |       Public head
>>   | |
>>   o |
>>   |/
>>   o
>>   |
>>   o
> Ahh. Yes, that's not the usual way to use rebase, and detach sounds like
> the right answer.
>

That's what I thought as well, but when I wanted to test it, it crashed 
with an "abort: 00changelog.i at ...: no node" exception (even without 
--detach). That was with hg 1.6.4.

However, it works as expected for the current 'default' branch of hg 
(mpm or crew), so this must have been fixed at some point. A quick 
googling only revealed http://mercurial.selenic.com/bts/issue2075 which 
doesn't yet mention that the issue has been fixed (I just verified that 
test case also worked), so I thought I should mention it.

My test case was:

   hg init detach
   cd detach
   echo > BASE
   hg ci -Am base -d '0 0'
   echo > PUBLIC; hg ci -Am public -d '1 1'
   echo > REVIEW; hg ci -Am review -d '2 2'
   echo > STABLE; hg ci -Am stable -d '3 3'
   hg up -c 1
   hg branch public
   hg ci -m branching -d '4 4'
   hg rebase -s 3 -d 4 --detach

-- Christian



More information about the Mercurial mailing list