##// END OF EJS Templates
flagutil: move addflagprocessor to the new module (API)
flagutil: move addflagprocessor to the new module (API)

File last commit:

r26780:bbf544b5 default
r42958:6d61be15 default
Show More
test-mq-qrefresh.t
552 lines | 8.6 KiB | text/troff | Tads3Lexer
/ tests / test-mq-qrefresh.t
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> mq =
> [diff]
> nodates = 1
> EOF
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ hg init a
$ cd a
$ mkdir 1 2
$ echo 'base' > 1/base
$ echo 'base' > 2/base
$ hg ci -Ambase
adding 1/base
adding 2/base
$ hg qnew -mmqbase mqbase
$ echo 'patched' > 1/base
$ echo 'patched' > 2/base
$ hg qrefresh
$ hg qdiff
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ hg qdiff .
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ echo 'patched again' > base
$ hg qrefresh 1
$ hg qdiff
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ hg qdiff .
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
qrefresh . in subdir:
$ ( cd 1 ; hg qrefresh . )
$ hg qdiff
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ hg qdiff .
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
qrefresh in hg-root again:
$ hg qrefresh
$ hg qdiff
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ hg qdiff .
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
qrefresh --short tests:
$ echo 'orphan' > orphanchild
$ hg add orphanchild
timeless@mozdev.org
spelling: nonexistent
r17492 $ hg qrefresh nonexistentfilename # clear patch
Adrian Buehlmann
test-mq-qrefresh: adapt for Windows after 39b7052b217b...
r17906 nonexistentfilename: * (glob)
Adrian Buehlmann
test-mq-qrefresh: test that the patch at qtip is indeed empty...
r17978 $ hg diff -c qtip
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ hg qrefresh --short 1/base
$ hg qrefresh --short 2/base
$ hg qdiff
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 orphanchild
--- /dev/null
+++ b/orphanchild
@@ -0,0 +1,1 @@
+orphan
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
$ hg st
A orphanchild
? base
diff shows what is not in patch:
$ hg diff
Brodie Rao
tests: add glob matching for unified tests...
r12376 diff -r ???????????? orphanchild (glob)
Adrian Buehlmann
tests: unify some of test-mq*
r12324 --- /dev/null
+++ b/orphanchild
@@ -0,0 +1,1 @@
+orphan
Before starting exclusive tests:
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
Exclude 2/base:
$ hg qref -s -X 2/base
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
status shows 2/base as dirty:
$ hg status
M 2/base
A orphanchild
? base
Remove 1/base and add 2/base again but not orphanchild:
$ hg qref -s -X orphanchild -X 1/base 2/base orphanchild
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 2/base
--- a/2/base
+++ b/2/base
@@ -1,1 +1,1 @@
-base
+patched
Add 1/base with include filter - and thus remove 2/base from patch:
$ hg qref -s -I 1/ o* */*
$ cat .hg/patches/mqbase
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent e7af5904b465cd1f4f3cf6b26fe14e8db6f63eaa
Adrian Buehlmann
tests: unify some of test-mq*
r12324 mqbase
diff -r e7af5904b465 1/base
--- a/1/base
+++ b/1/base
@@ -1,1 +1,1 @@
-base
+patched
$ cd ..
Test qrefresh --git losing copy metadata:
$ hg init repo
$ cd repo
$ echo "[diff]" >> .hg/hgrc
$ echo "git=True" >> .hg/hgrc
$ echo a > a
$ hg ci -Am adda
adding a
$ hg copy a ab
$ echo b >> ab
$ hg copy a ac
$ echo c >> ac
Capture changes:
$ hg qnew -f p1
$ hg qdiff
diff --git a/a b/ab
copy from a
copy to ab
--- a/a
+++ b/ab
@@ -1,1 +1,2 @@
a
+b
diff --git a/a b/ac
copy from a
copy to ac
--- a/a
+++ b/ac
@@ -1,1 +1,2 @@
a
+c
Refresh and check changes again:
$ hg qrefresh
$ hg qdiff
diff --git a/a b/ab
copy from a
copy to ab
--- a/a
+++ b/ab
@@ -1,1 +1,2 @@
a
+b
diff --git a/a b/ac
copy from a
copy to ac
--- a/a
+++ b/ac
@@ -1,1 +1,2 @@
a
+c
$ cd ..
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue1441: qrefresh confused after hg rename:
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ hg init repo-1441
$ cd repo-1441
$ echo a > a
$ hg add a
$ hg qnew -f p
$ hg mv a b
$ hg qrefresh
$ hg qdiff
diff -r 000000000000 b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+a
$ cd ..
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue2025: qrefresh does not honor filtering options when tip !=
qtip:
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ hg init repo-2025
$ cd repo-2025
$ echo a > a
$ echo b > b
$ hg ci -qAm addab
$ echo a >> a
$ echo b >> b
$ hg qnew -f patch
$ hg up -qC 0
$ echo c > c
$ hg ci -qAm addc
$ hg up -qC 1
refresh with tip != qtip:
$ hg --config diff.nodates=1 qrefresh -I b
$ hg st
M a
$ cat b
b
b
$ cat .hg/patches/patch
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent 1a60229be7ac3e4a7f647508e99b87bef1f03593
Adrian Buehlmann
tests: unify some of test-mq*
r12324
diff -r 1a60229be7ac b
--- a/b
+++ b/b
@@ -1,1 +1,2 @@
b
+b
$ cd ..
Issue1441 with git patches:
$ hg init repo-1441-git
$ cd repo-1441-git
$ echo "[diff]" >> .hg/hgrc
$ echo "git=True" >> .hg/hgrc
$ echo a > a
$ hg add a
$ hg qnew -f p
$ hg mv a b
$ hg qrefresh
$ hg qdiff --nodates
diff --git a/b b/b
new file mode 100644
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+a
$ cd ..
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 Refresh with bad usernames. Mercurial used to abort on bad usernames,
but only after writing the bad name into the patch.
$ hg init bad-usernames
$ cd bad-usernames
$ touch a
$ hg add a
$ hg qnew a
$ hg qrefresh -u 'foo
> bar'
transaction abort!
rollback completed
timeless@mozdev.org
mq: consistently use qrefresh
r26780 qrefresh interrupted while patch was popped! (revert --all, qpush to recover)
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 abort: username 'foo\nbar' contains a newline!
[255]
Patrick Mezard
patch: use temporary files to handle intermediate copies...
r14452 $ rm a
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 $ cat .hg/patches/a
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent 0000000000000000000000000000000000000000
Mads Kiilerich
mq: correctly make an empty line after description in new patches...
r22519
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 diff --git a/a b/a
new file mode 100644
$ hg qpush
applying a
now at: a
$ hg qrefresh -u ' '
transaction abort!
rollback completed
timeless@mozdev.org
mq: consistently use qrefresh
r26780 qrefresh interrupted while patch was popped! (revert --all, qpush to recover)
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 abort: empty username!
[255]
$ cat .hg/patches/a
# HG changeset patch
Mads Kiilerich
mq: write '# Parent ' lines with two spaces like export does (BC)...
r22521 # Parent 0000000000000000000000000000000000000000
Mads Kiilerich
mq: correctly make an empty line after description in new patches...
r22519
Martin Geisler
mq: do not let qrefresh write bad patch
r13632 diff --git a/a b/a
new file mode 100644
$ cd ..
Pierre-Yves David
qrefresh: keep changeset phase during refresh
r16026
Refresh with phase data:
$ cd repo
$ echo 'babar' >> a
$ hg qnew -m 'update a' p2.diff
$ hg phase p2.diff
2: draft
$ echo 'beber' >> a
$ hg qref
$ hg phase p2.diff
2: draft
$ hg phase --force --secret p2.diff
$ echo 'bibir' >> a
$ hg qref
$ hg phase p2.diff
2: secret
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..