##// END OF EJS Templates
manifest: fix a bug where working copy file 'add' mark was buggy...
manifest: fix a bug where working copy file 'add' mark was buggy Because the same dictionary was used to (1) get node from parent and (2) store annotated version, we could end up with buggy values. For example with a chain of renames: $ hg mv b c $ hg mv a b The value from 'b' would be updated as "<old-a>a", then the value of c would be updated as "<old-b>a'. With the current dictionary sharing this ends up with: '<new-c>' == '<old-a>aa' This value is double-wrong as we should use '<old-b>' and a single 'a'. We now use a read-only value for lookup. The 'test-rename.t' test is impacted because such a chained added file is suddenly detected as such.

File last commit:

r22521:3f948469 default
r23401:fd1bab28 stable
Show More
test-mq-qrename.t
125 lines | 1.8 KiB | text/troff | Tads3Lexer
/ tests / test-mq-qrename.t
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ echo "[extensions]" >> $HGRCPATH
$ echo "mq=" >> $HGRCPATH
$ hg init a
$ cd a
$ echo 'base' > base
$ hg ci -Ambase
adding base
$ hg qnew -mmqbase mqbase
$ hg qrename mqbase renamed
$ mkdir .hg/patches/foo
$ hg qrename renamed foo
$ hg qseries
foo/renamed
$ ls .hg/patches/foo
renamed
$ mkdir .hg/patches/bar
$ hg qrename foo/renamed bar
$ hg qseries
bar/renamed
$ ls .hg/patches/bar
renamed
$ hg qrename bar/renamed baz
$ hg qseries
baz
$ ls .hg/patches/baz
.hg/patches/baz
$ hg qrename baz new/dir
$ hg qseries
new/dir
$ ls .hg/patches/new/dir
.hg/patches/new/dir
$ cd ..
Test patch being renamed before committed:
$ hg init b
$ cd b
$ hg qinit -c
$ hg qnew x
$ hg qrename y
$ hg qcommit -m rename
$ cd ..
Patrick Mezard
Merge with stable
r12361 Test overlapping renames (issue2388)
Adrian Buehlmann
tests: unify some of test-mq*
r12324
Patrick Mezard
Merge with stable
r12361 $ hg init c
$ cd c
$ hg qinit -c
$ echo a > a
$ hg add
adding a
$ hg qnew patcha
$ echo b > b
$ hg add
adding b
$ hg qnew patchb
$ hg ci --mq -m c1
$ hg qrename patchb patchc
$ hg qrename patcha patchb
$ hg st --mq
M series
Patrick Mezard
mq: avoid data loss upon qfold + qmv (issue3058)...
r15322 A patchb
Patrick Mezard
Merge with stable
r12361 A patchc
R patcha
$ cd ..
Patrick Mezard
mq: qrename should not touch the dirstate if src is untracked (issue2460)
r12875
Test renames with mq repo (issue2097)
$ hg init issue2097
$ cd issue2097
$ hg qnew p0
$ (cd .hg/patches && hg init)
$ hg qren p0 p1
$ hg debugstate --mq
$ hg ci --mq -mq0
nothing changed
[1]
$ cd ..
Patrick Mezard
mq: avoid data loss upon qfold + qmv (issue3058)...
r15322
Test renaming to a folded patch (issue3058)
$ hg init issue3058
$ cd issue3058
$ hg init --mq
$ echo a > a
$ hg add a
$ hg qnew adda
$ echo b >> a
$ hg qnew addb
$ hg qpop
popping addb
now at: adda
$ hg ci --mq -m "save mq"
$ hg qfold addb
$ hg qmv addb
$ cat .hg/patches/addb
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent 0000000000000000000000000000000000000000
Patrick Mezard
mq: avoid data loss upon qfold + qmv (issue3058)...
r15322
diff -r 000000000000 a
--- /dev/null * (glob)
+++ b/a * (glob)
@@ -0,0 +1,2 @@
+a
+b
$ cd ..