##// END OF EJS Templates
largefiles: restore standins according to restored dirstate...
largefiles: restore standins according to restored dirstate Before this patch, standins are restored from the NEW parent of the working directory at "hg rollback", and this causes: - standins removed in the rollback-ed revision are restored, and become orphan, because they are already marked as "R" in the restored dirstate and expected to be unlinked - standins added in the rollback-ed revision are left as they were before rollback, because they are not included in the new parent (this may not be so serious) This patch replaces the "merge.update" invocation with a specific implementation to restore standins according to restored dirstate. This is also the preparation to centralize the logic of updating largefiles into the function wrapping "merge.update" in the subsequent patch. After that patch, "merge.update" will also update largefiles in the working directory and be redundant for restoring standins only.

File last commit:

r15322:c8e2a5ea stable
r22285:85bded43 default
Show More
test-mq-qrename.t
125 lines | 1.8 KiB | text/troff | Tads3Lexer
$ 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 ..
Test overlapping renames (issue2388)
$ 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
A patchb
A patchc
R patcha
$ cd ..
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 ..
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
# Parent 0000000000000000000000000000000000000000
diff -r 000000000000 a
--- /dev/null * (glob)
+++ b/a * (glob)
@@ -0,0 +1,2 @@
+a
+b
$ cd ..