##// END OF EJS Templates
transaction: issue "new obsmarkers" message at the end of the transaction...
transaction: issue "new obsmarkers" message at the end of the transaction Instead of making bundle2 code responsible for this, it seems better to have it handled and the transaction level. First, it means the message will be more consistently printed. Second it means we won't spam the message over and over if the data arrive in multiple piece. Third, we are planning to move other similar message at the same level (for the same reason) so having them all at the same location will help us to control the order they are displayed.

File last commit:

r42408:57203e02 default
r43164:38392d5b default
Show More
test-mv-cp-st-diff.t
1695 lines | 21.9 KiB | text/troff | Tads3Lexer
/ tests / test-mv-cp-st-diff.t
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469
$ add()
> {
> echo $2 >> $1
> }
$ hg init t
$ cd t
set up a boring main branch
$ add a a
$ hg add a
$ mkdir x
$ add x/x x
$ hg add x/x
$ hg ci -m0
$ add a m1
$ hg ci -m1
$ add a m2
$ add x/y y1
$ hg add x/y
$ hg ci -m2
$ cd ..
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 $ show()
> {
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo "# $2:"
> echo
> echo "% hg st -C $1"
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg st -C $1
> echo
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo "% hg diff --git $1"
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg diff --git $1
> echo
> }
$ count=0
make a new branch and get diff/status output
$1 - first commit
$2 - second commit
$3 - working dir action
$ tb()
> {
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > hg clone -q t t2 ; cd t2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg co -q -C 0
>
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % add a $count
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > add a $count
> count=`expr $count + 1`
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % hg ci -m "t0"
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg ci -m "t0"
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % $1
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > $1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % hg ci -m "t1"
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg ci -m "t1"
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % $2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > $2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % hg ci -m "t2"
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > hg ci -m "t2"
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo % $3
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > $3
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 > echo
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 > show "" "working to parent"
> show "--rev 0" "working to root"
> show "--rev 2" "working to branch"
> show "--rev 0 --rev ." "root to parent"
> show "--rev . --rev 0" "parent to root"
> show "--rev 2 --rev ." "branch to parent"
> show "--rev . --rev 2" "parent to branch"
> echo
> cd ..
> rm -rf t2
> }
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074
rename in working dir
$ tb "add a a1" "add a a2" "hg mv a b"
% add a 0
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % add a a1
% hg ci -m t1
% add a a2
% hg ci -m t2
% hg mv a b
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,1 +1,4 @@
a
+0
+a1
+a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,3 +1,4 @@
a
-m1
-m2
+0
+a1
+a2
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,4 @@
a
+0
+a1
+a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,4 +1,1 @@
a
-0
-a1
-a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
-m1
-m2
+0
+a1
+a2
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,4 +1,3 @@
a
-0
-a1
-a2
+m1
+m2
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 copy in working dir
$ tb "add a a1" "add a a2" "hg cp a b"
% add a 1
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % add a a1
% hg ci -m t1
% add a a2
% hg ci -m t2
% hg cp a b
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
copy from a
copy to b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,4 @@
a
+1
+a1
+a2
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,1 +1,4 @@
a
+1
+a1
+a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
-m1
-m2
+1
+a1
+a2
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,3 +1,4 @@
a
-m1
-m2
+1
+a1
+a2
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,4 @@
a
+1
+a1
+a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,4 +1,1 @@
a
-1
-a1
-a2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,4 @@
a
-m1
-m2
+1
+a1
+a2
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,4 +1,3 @@
a
-1
-a1
-a2
+m1
+m2
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 single rename
$ tb "hg mv a b" "add b b1" "add b w"
% add a 2
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg mv a b
% hg ci -m t1
% add b b1
% hg ci -m t2
% add b w
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/b
--- a/b
+++ b/b
@@ -1,3 +1,4 @@
a
2
b1
+w
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,1 +1,4 @@
a
+2
+b1
+w
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,3 +1,4 @@
a
-m1
-m2
+2
+b1
+w
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,1 +1,3 @@
a
+2
+b1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
b
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/a
rename from b
rename to a
--- a/b
+++ b/a
@@ -1,3 +1,1 @@
a
-2
-b1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,3 +1,3 @@
a
-m1
-m2
+2
+b1
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
b
A x/y
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/a
rename from b
rename to a
--- a/b
+++ b/a
@@ -1,3 +1,3 @@
a
-2
-b1
+m1
+m2
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 single copy
$ tb "hg cp a b" "add b b1" "add a w"
% add a 3
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg cp a b
% hg ci -m t1
% add b b1
% hg ci -m t2
% add a w
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
3
+w
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,3 @@
a
+3
+w
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,1 +1,3 @@
a
+3
+b1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,3 @@
a
-m1
-m2
+3
+w
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,3 +1,3 @@
a
-m1
-m2
+3
+b1
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,2 @@
a
+3
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,1 +1,3 @@
a
+3
+b1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,1 @@
a
-3
diff --git a/b b/b
deleted file mode 100644
--- a/b
+++ /dev/null
@@ -1,3 +0,0 @@
-a
-3
-b1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,2 @@
a
-m1
-m2
+3
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,3 +1,3 @@
a
-m1
-m2
+3
+b1
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/y
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
-3
+m1
+m2
diff --git a/b b/b
deleted file mode 100644
--- a/b
+++ /dev/null
@@ -1,3 +0,0 @@
-a
-3
-b1
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 rename chain
$ tb "hg mv a b" "hg mv b c" "hg mv c d"
% add a 4
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg mv a b
% hg ci -m t1
% hg mv b c
% hg ci -m t2
% hg mv c d
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A d
c
R c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/c b/d
rename from c
rename to d
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A d
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/d
rename from a
rename to d
--- a/a
+++ b/d
@@ -1,1 +1,2 @@
a
+4
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A d
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/d
rename from a
rename to d
--- a/a
+++ b/d
@@ -1,3 +1,2 @@
a
-m1
-m2
+4
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A c
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/c
rename from a
rename to c
--- a/a
+++ b/c
@@ -1,1 +1,2 @@
a
+4
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
c
R c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/c b/a
rename from c
rename to a
--- a/c
+++ b/a
@@ -1,2 +1,1 @@
a
-4
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A c
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/c
rename from a
rename to c
--- a/a
+++ b/c
@@ -1,3 +1,2 @@
a
-m1
-m2
+4
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
c
A x/y
R c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/c b/a
rename from c
rename to a
--- a/c
+++ b/a
@@ -1,2 +1,3 @@
a
-4
+m1
+m2
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 copy chain
$ tb "hg cp a b" "hg cp b c" "hg cp c d"
% add a 5
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg cp a b
% hg ci -m t1
% hg cp b c
% hg ci -m t2
% hg cp c d
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A d
c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/c b/d
copy from c
copy to d
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
A c
a
A d
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,2 @@
a
+5
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,1 +1,2 @@
a
+5
diff --git a/a b/c
copy from a
copy to c
--- a/a
+++ b/c
@@ -1,1 +1,2 @@
a
+5
diff --git a/a b/d
copy from a
copy to d
--- a/a
+++ b/d
@@ -1,1 +1,2 @@
a
+5
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
A c
a
A d
a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/a b/c
copy from a
copy to c
--- a/a
+++ b/c
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/a b/d
copy from a
copy to d
--- a/a
+++ b/d
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
A c
a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,2 @@
a
+5
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,1 +1,2 @@
a
+5
diff --git a/a b/c
copy from a
copy to c
--- a/a
+++ b/c
@@ -1,1 +1,2 @@
a
+5
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
R b
R c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,1 @@
a
-5
diff --git a/b b/b
deleted file mode 100644
--- a/b
+++ /dev/null
@@ -1,2 +0,0 @@
-a
-5
diff --git a/c b/c
deleted file mode 100644
--- a/c
+++ /dev/null
@@ -1,2 +0,0 @@
-a
-5
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A b
a
A c
a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/a b/b
copy from a
copy to b
--- a/a
+++ b/b
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/a b/c
copy from a
copy to c
--- a/a
+++ b/c
@@ -1,3 +1,2 @@
a
-m1
-m2
+5
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/y
R b
R c
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
-5
+m1
+m2
diff --git a/b b/b
deleted file mode 100644
--- a/b
+++ /dev/null
@@ -1,2 +0,0 @@
-a
-5
diff --git a/c b/c
deleted file mode 100644
--- a/c
+++ /dev/null
@@ -1,2 +0,0 @@
-a
-5
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 circular rename
$ tb "add a a1" "hg mv a b" "hg mv b a"
% add a 6
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % add a a1
% hg ci -m t1
% hg mv a b
% hg ci -m t2
% hg mv b a
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
b
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/a
rename from b
rename to a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,3 @@
a
+6
+a1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,3 @@
a
-m1
-m2
+6
+a1
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,1 +1,3 @@
a
+6
+a1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
b
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/a
rename from b
rename to a
--- a/b
+++ b/a
@@ -1,3 +1,1 @@
a
-6
-a1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A b
a
R a
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/b
rename from a
rename to b
--- a/a
+++ b/b
@@ -1,3 +1,3 @@
a
-m1
-m2
+6
+a1
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 A a
b
A x/y
R b
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/b b/a
rename from b
rename to a
--- a/b
+++ b/a
@@ -1,3 +1,3 @@
a
-6
-a1
+m1
+m2
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 directory move
$ tb "hg mv x y" "add y/x x1" "add y/x x2"
% add a 7
% hg ci -m t0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 created new head
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg mv x y
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving x/x to y/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg ci -m t1
% add y/x x1
% hg ci -m t2
% add y/x x2
# working to parent:
% hg st -C
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M y/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/y/x b/y/x
--- a/y/x
+++ b/y/x
@@ -1,2 +1,3 @@
x
x1
+x2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to root:
% hg st -C --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A y/x
x/x
R x/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,2 @@
a
+7
diff --git a/x/x b/y/x
rename from x/x
rename to y/x
--- a/x/x
+++ b/y/x
@@ -1,1 +1,3 @@
x
+x1
+x2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # working to branch:
% hg st -C --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A y/x
x/x
R x/x
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,2 @@
a
-m1
-m2
+7
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
diff --git a/x/x b/y/x
rename from x/x
rename to y/x
--- a/x/x
+++ b/y/x
@@ -1,1 +1,3 @@
x
+x1
+x2
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # root to parent:
% hg st -C --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A y/x
x/x
R x/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 0 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,1 +1,2 @@
a
+7
diff --git a/x/x b/y/x
rename from x/x
rename to y/x
--- a/x/x
+++ b/y/x
@@ -1,1 +1,2 @@
x
+x1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to root:
% hg st -C --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/x
y/x
R y/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 0
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,1 @@
a
-7
diff --git a/y/x b/x/x
rename from y/x
rename to x/x
--- a/y/x
+++ b/x/x
@@ -1,2 +1,1 @@
x
-x1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # branch to parent:
% hg st -C --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A y/x
x/x
R x/x
R x/y
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev 2 --rev .
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,3 +1,2 @@
a
-m1
-m2
+7
diff --git a/x/y b/x/y
deleted file mode 100644
--- a/x/y
+++ /dev/null
@@ -1,1 +0,0 @@
-y1
diff --git a/x/x b/y/x
rename from x/x
rename to y/x
--- a/x/x
+++ b/y/x
@@ -1,1 +1,2 @@
x
+x1
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 # parent to branch:
% hg st -C --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 M a
A x/x
y/x
A x/y
R y/x
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 % hg diff --git --rev . --rev 2
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 diff --git a/a b/a
--- a/a
+++ b/a
@@ -1,2 +1,3 @@
a
-7
+m1
+m2
diff --git a/y/x b/x/x
rename from y/x
rename to x/x
--- a/y/x
+++ b/x/x
@@ -1,2 +1,1 @@
x
-x1
diff --git a/x/y b/x/y
new file mode 100644
--- /dev/null
+++ b/x/y
@@ -0,0 +1,1 @@
+y1
Cannot implement unrelated branch with tb
testing copies with unrelated branch
$ hg init unrelated
$ cd unrelated
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 $ echo a >> a
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 $ hg ci -Am adda
adding a
$ hg mv a b
$ hg ci -m movea
$ hg up -C null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Mads Kiilerich
tests: improve test-mv-cp-st-diff.t readability
r18074 $ echo a >> a
Matt Mackall
tests: unify test-mv-cp-st-diff
r12469 $ hg ci -Am addunrelateda
adding a
created new head
unrelated branch diff
$ hg diff --git -r 2 -r 1
diff --git a/a b/a
deleted file mode 100644
--- a/a
+++ /dev/null
@@ -1,1 +0,0 @@
-a
diff --git a/b b/b
new file mode 100644
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+a
$ cd ..
Mads Kiilerich
diff: search beyond ancestor when detecting renames...
r20294
test for case where we didn't look sufficiently far back to find rename ancestor
$ hg init diffstop
$ cd diffstop
$ echo > f
$ hg ci -qAmf
$ hg mv f g
$ hg ci -m'f->g'
$ hg up -qr0
$ touch x
$ hg ci -qAmx
$ echo f > f
$ hg ci -qmf=f
$ hg merge -q
$ hg ci -mmerge
$ hg log -G --template '{rev} {desc}'
@ 4 merge
|\
| o 3 f=f
| |
| o 2 x
| |
o | 1 f->g
|/
o 0 f
$ hg diff --git -r 2
diff --git a/f b/g
rename from f
rename to g
--- a/f
+++ b/g
@@ -1,1 +1,1 @@
-
+f
$ cd ..
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702
Additional tricky linkrev case
------------------------------
If the first file revision after the diff base has a linkrev pointing to a
changeset on another branch with a revision lower that the diff base, we can
jump past the copy detection limit and fail to detect the rename.
$ hg init diffstoplinkrev
$ cd diffstoplinkrev
$ touch f
$ hg ci -Aqm 'empty f'
Make a simple change
$ echo change > f
$ hg ci -m 'change f'
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 Make a rename because we want to track renames. It is also important that the
faulty linkrev is not only the "start" commit to ensure the linkrev will be
used.
$ hg mv f renamed
$ hg ci -m renamed
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702 Make a second branch, we use a named branch to create a simple commit
that does not touch f.
$ hg up -qr 'desc(empty)'
$ hg branch -q dev
$ hg ci -Aqm dev
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 Graft the initial change and the rename. As f was untouched, we reuse the same
entry and the linkrev point to the older branch.
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702
$ hg graft -q 'desc(change)'
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 $ hg graft -q 'desc(renamed)'
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702
$ hg log -G -T '{rev} {desc}'
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 @ 5 renamed
|
o 4 change f
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702 |
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 o 3 dev
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702 |
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 | o 2 renamed
| |
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702 | o 1 change f
|/
o 0 empty f
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 The copy tracking should still reach rev 3 (branch creation).
accessing the parent of 5 (renamed) should not jump use to revision 1.
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702
$ hg diff --git -r 'desc(dev)' -r .
diff --git a/f b/renamed
rename from f
rename to renamed
--- a/f
+++ b/renamed
@@ -0,0 +1,1 @@
+change
Boris Feld
copies: add a devel debug mode to trace what copy tracing does...
r40093 Check debug output for copy tracing
$ hg status --copies --rev 'desc(dev)' --rev . --config devel.debug.copies=yes --debug
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 debug.copies: searching copies from a51f36ab1704 to 1f4aa1fd627b
Boris Feld
copies: add a devel debug mode to trace what copy tracing does...
r40093 debug.copies: search mode: forward
Martin von Zweigbergk
tests: slightly modify a linkrev test to prepare for expanding it...
r42397 debug.copies: looking into rename from a51f36ab1704 to 1f4aa1fd627b
debug.copies: search limit: 3
debug.copies: missing files to search: 1
Boris Feld
copies: add a devel debug mode to trace what copy tracing does...
r40093 debug.copies: tracing file: renamed
debug.copies: rename of: f
Boris Feld
copies: add time information to the debug information
r40094 debug.copies: time: * seconds (glob)
Boris Feld
copies: add a devel debug mode to trace what copy tracing does...
r40093 A renamed
f
R f
Martin von Zweigbergk
test: demonstrate failure to follow rename with shadowed linkrev...
r42398 Check that merging across the rename works
$ echo modified >> renamed
$ hg co -m 4
Martin von Zweigbergk
copies: calculate mergecopies() based on pathcopies()...
r42408 merging renamed and f to f
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
Martin von Zweigbergk
test: demonstrate failure to follow rename with shadowed linkrev...
r42398
Pierre-Yves David
filectx.parents: enforce changeid of parent to be in own changectx ancestors...
r23702 $ cd ..