When there is only one cset, merge and rebase should find the same result,
it's not always the case:
hg init repo
cd repo
mkdir t
for i in a b c d e ;
do echo $i > t/$i
done
hg ci -Am init
hg mv t tt
hg ci -m rename
hg up 0
echo f > t/f
hg add t/f # new
echo g > t/g # unknown
hg rm t/a # removed
echo b >> t/b # modified
hg st -A
hg ci -m m
hg diff -c tip
hg up -C 1
#hg --debug merge
hg rebase -s 2 -d 1
hg diff -c tip
#hg --debug up
hg st -A
At the end, 'a' isn't removed in the renamed directory, merge does it
correctly.
|