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'
+