Mercurial > hg
diff tests/test-rebase-rename @ 7954:b969611064ae
rebase: don't lose rename/copy data (Issue1423)
author | Stefano Tortarolo <stefano.tortarolo@gmail.com> |
---|---|
date | Mon, 30 Mar 2009 18:26:32 +0200 |
parents | |
children | b345b1cc124f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-rebase-rename Mon Mar 30 18:26:32 2009 +0200 @@ -0,0 +1,59 @@ +#!/bin/sh + +echo "[extensions]" >> $HGRCPATH +echo "rebase=" >> $HGRCPATH +echo "[diff]" >> $HGRCPATH +echo "git=1" >> $HGRCPATH + +BASE=`pwd` + +cleanoutput () { + sed -e 's/\(Rebase status stored to\).*/\1/' \ + -e 's/\(Rebase status restored from\).*/\1/' \ + -e 's/\(saving bundle to \).*/\1/' +} + +hg init repo1 +cd repo1 +echo "a">a +hg commit -Am "A" --date '0 0' +echo "b"> b +hg commit -Am "B" --date '1 0' +hg up -C 0 +hg mv a a-renamed +hg commit -m 'rename A' --date '2 0' + +echo +echo '% Rename is tracked' +hg log -p -r tip --template '{rev}:{desc}\n' + +echo '% Rebase the revision containing the rename' +hg rebase -s 2 -d 1 --quiet 2>&1 | cleanoutput + +echo +echo '% Rename is not lost' +hg log -p -r tip --template '{rev}:{desc}\n' + +cd $BASE +rm -rf repo1 +hg init repo1 +cd repo1 +echo "a">a +hg commit -Am "A" --date '0 0' +echo "b"> b +hg commit -Am "B" --date '1 0' +hg up -C 0 +hg cp a a-copied +hg commit -m 'copy A' --date '2 0' + +echo +echo '% Copy is tracked' +hg log -p -r tip --template '{rev}:{desc}\n' + +echo '% Rebase the revision containing the copy' +hg rebase -s 2 -d 1 --quiet 2>&1 | cleanoutput + +echo +echo '% Copy is not lost' +hg log -p -r tip --template '{rev}:{desc}\n' +