Mercurial > hg
view tests/test-merge-remove @ 11963:7c3aa579d98a
parendelta: fix computation of base rev (fixes issue2337)
Refactor revlog._addrevision() and put the correct base rev in the
parent-delta case: base(rev) should always be equal to the first full snapshot
that is needed by the delta chain, in both parent-delta and tip-delta case.
Before this fix, the base rev was in most case wrong (and in the case where
p1 == nullid, this triggered the bug from issue2337). This means that
repositories converted to parent-delta earlier are corrupted and needs to be
reconverted.
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Wed, 18 Aug 2010 19:37:23 +0200 |
parents | 653ddd1d7cd7 |
children |
line wrap: on
line source
#!/bin/sh hg init repo cd repo echo foo > foo echo bar > bar hg ci -qAm 'add foo bar' echo foo2 >> foo echo bleh > bar hg ci -m 'change foo bar' hg up -qC 0 hg mv foo foo1 echo foo1 > foo1 hg cat foo >> foo1 hg ci -m 'mv foo foo1' hg merge hg debugstate --nodates hg st -q echo '% removing foo1 and bar' cp foo1 F cp bar B hg rm -f foo1 bar hg debugstate --nodates hg st -qC echo '% readding foo1 and bar' cp F foo1 cp B bar hg add -v foo1 bar hg debugstate --nodates hg st -qC echo '% reverting foo1 and bar' hg revert -vr . foo1 bar hg debugstate --nodates hg st -qC hg diff