Mercurial > hg-stable
view tests/test-rebase-conflicts @ 10135:9a4034b630c4 stable
patch: better handling of sequence of offset patch hunks (issue1941)
The built-in patch implementation applied the hunks to the wrong lines of the
file if the file in the repo has been modified to skew the patch line numbers
and the file contains repetitive sequences of lines.
author | Greg Onufer <gonufer@jazzhaiku.com> |
---|---|
date | Wed, 09 Dec 2009 16:56:00 -0800 |
parents | 8766fee6f225 |
children | b345b1cc124f |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "graphlog=" >> $HGRCPATH echo "rebase=" >> $HGRCPATH cleanoutput () { sed -e 's/\(Rebase status stored to\).*/\1/' \ -e 's/\(Rebase status restored from\).*/\1/' \ -e 's/\(saving bundle to \).*/\1/' } hg init a cd a echo 'c1' >common hg add common hg commit -d '0 0' -m "C1" echo 'c2' >>common hg commit -d '1 0' -m "C2" echo 'c3' >>common hg commit -d '2 0' -m "C3" hg update -C 1 echo 'l1' >>extra hg add extra hg commit -d '3 0' -m "L1" sed -e 's/c2/l2/' common > common.new mv common.new common hg commit -d '4 0' -m "L2" echo 'l3' >> extra2 hg add extra2 hg commit -d '5 0' -m "L3" hg glog --template '{rev}: {desc}\n' echo echo '% Try to call --continue' hg rebase --continue echo echo '% Conflicting rebase' hg rebase -s 3 -d 2 echo echo '% Try to continue without solving the conflict' hg rebase --continue echo echo '% Conclude rebase' echo 'resolved merge' >common hg resolve -m common hg rebase --continue 2>&1 | cleanoutput hg glog --template '{rev}: {desc}\n' echo echo '% Check correctness' echo ' - Rev. 0' hg cat -r 0 common echo ' - Rev. 1' hg cat -r 1 common echo ' - Rev. 2' hg cat -r 2 common echo ' - Rev. 3' hg cat -r 3 common echo ' - Rev. 4' hg cat -r 4 common echo ' - Rev. 5' hg cat -r 5 common