Mercurial > hg
view tests/test-merge-commit @ 7955:c3d4ff03ec72
rebase: keep original mq patch format (Issue1574)
Rebase now doesn't make assumptions about which format has been
used for a mq patch (git or normal).
Before finalizing a patch it keeps track of the original format,
by reading its header, and then restores the format when reimporting
it.
This way it also allows for having mixed styles.
Note: this version corrects a failure in the test
author | Stefano Tortarolo <stefano.tortarolo@gmail.com> |
---|---|
date | Thu, 26 Mar 2009 16:58:50 +0200 |
parents | 46280c004f22 |
children | 6c82beaaa11a |
line wrap: on
line source
#!/bin/sh # check that renames are correctly saved by a commit after a merge # test with the merge on 3 having the rename on the local parent hg init a cd a echo line1 > foo hg add foo hg ci -m '0: add foo' -d '0 0' echo line2 >> foo hg ci -m '1: change foo' -d '0 0' hg up -C 0 hg mv foo bar rm bar echo line0 > bar echo line1 >> bar hg ci -m '2: mv foo bar; change bar' -d '0 0' hg merge 1 echo '% contents of bar should be line0 line1 line2' cat bar hg ci -m '3: merge with local rename' -d '0 0' hg debugindex .hg/store/data/bar.i hg debugrename bar hg debugindex .hg/store/data/foo.i # revert the content change from rev 2 hg up -C 2 rm bar echo line1 > bar hg ci -m '4: revert content change from rev 2' -d '0 0' hg log --template '#rev#:#node|short# #parents#\n' echo '% this should use bar@rev2 as the ancestor' hg --debug merge 3 echo '% contents of bar should be line1 line2' cat bar hg ci -m '5: merge' -d '0 0' hg debugindex .hg/store/data/bar.i # same thing, but with the merge on 3 having the rename on the remote parent echo echo cd .. hg clone -U -r 1 -r 2 a b cd b hg up -C 1 hg merge 2 echo '% contents of bar should be line0 line1 line2' cat bar hg ci -m '3: merge with remote rename' -d '0 0' hg debugindex .hg/store/data/bar.i hg debugrename bar hg debugindex .hg/store/data/foo.i # revert the content change from rev 2 hg up -C 2 rm bar echo line1 > bar hg ci -m '4: revert content change from rev 2' -d '0 0' hg log --template '#rev#:#node|short# #parents#\n' echo '% this should use bar@rev2 as the ancestor' hg --debug merge 3 echo '% contents of bar should be line1 line2' cat bar hg ci -m '5: merge' -d '0 0' hg debugindex .hg/store/data/bar.i