test-mq-qpush-exact.t
290 lines
| 5.5 KiB
| text/troff
|
Tads3Lexer
/ tests / test-mq-qpush-exact.t
Steve Losh
|
r13033 | $ echo "[extensions]" >> $HGRCPATH | ||
$ echo "mq=" >> $HGRCPATH | ||||
$ echo "graphlog=" >> $HGRCPATH | ||||
make a test repository that looks like this: | ||||
o 2:28bc7b1afd6a | ||||
| | ||||
| @ 1:d7fe2034f71b | ||||
|/ | ||||
o 0/62ecad8b70e5 | ||||
$ hg init r0 | ||||
$ cd r0 | ||||
$ touch f0 | ||||
$ hg ci -m0 -Aq | ||||
$ touch f1 | ||||
$ hg ci -m1 -Aq | ||||
$ hg update 0 -q | ||||
$ touch f2 | ||||
$ hg ci -m2 -Aq | ||||
$ hg update 1 -q | ||||
make some patches with a parent: 1:d7fe2034f71b -> p0 -> p1 | ||||
$ echo cp0 >> fp0 | ||||
$ hg add fp0 | ||||
$ hg qnew p0 -d "0 0" | ||||
$ echo cp1 >> fp1 | ||||
$ hg add fp1 | ||||
$ hg qnew p1 -d "0 0" | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact when at the parent | ||||
$ hg update 1 -q | ||||
$ hg qpush -e | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg qpush -e p0 | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg qpush -e p1 | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg qpush -ea | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact when at another rev | ||||
$ hg update 0 -q | ||||
$ hg qpush -e | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 0 -q | ||||
$ hg qpush -e p0 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 0 -q | ||||
$ hg qpush -e p1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 0 -q | ||||
$ hg qpush -ea | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact while crossing branches | ||||
$ hg update 2 -q | ||||
$ hg qpush -e | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 2 -q | ||||
$ hg qpush -e p0 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 2 -q | ||||
$ hg qpush -e p1 | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 2 -q | ||||
$ hg qpush -ea | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ hg parents -qr qbase | ||||
1:d7fe2034f71b | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact --force with changes to an unpatched file | ||||
$ hg update 1 -q | ||||
$ echo c0 >> f0 | ||||
$ hg qpush -e | ||||
abort: local changes found, refresh first | ||||
[255] | ||||
$ hg qpush -ef | ||||
applying p0 | ||||
now at: p0 | ||||
$ cat f0 | ||||
c0 | ||||
$ rm f0 | ||||
$ touch f0 | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg update 1 -q | ||||
$ echo c0 >> f0 | ||||
$ hg qpush -e p1 | ||||
abort: local changes found, refresh first | ||||
[255] | ||||
$ hg qpush -e p1 -f | ||||
applying p0 | ||||
applying p1 | ||||
now at: p1 | ||||
$ cat f0 | ||||
c0 | ||||
$ rm f0 | ||||
$ touch f0 | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact --force with changes to a patched file | ||||
$ hg update 1 -q | ||||
$ echo cp0-bad >> fp0 | ||||
$ hg add fp0 | ||||
$ hg qpush -e | ||||
abort: local changes found, refresh first | ||||
[255] | ||||
$ hg qpush -ef | ||||
applying p0 | ||||
file fp0 already exists | ||||
1 out of 1 hunks FAILED -- saving rejects to file fp0.rej | ||||
patch failed, unable to continue (try -v) | ||||
patch failed, rejects left in working dir | ||||
errors during apply, please fix and refresh p0 | ||||
[2] | ||||
$ cat fp0 | ||||
cp0-bad | ||||
$ cat fp0.rej | ||||
--- fp0 | ||||
+++ fp0 | ||||
@@ -0,0 +1,1 @@ | ||||
+cp0 | ||||
$ hg qpop -aqf | ||||
patch queue now empty | ||||
$ rm fp0 | ||||
$ rm fp0.rej | ||||
$ hg update 1 -q | ||||
$ echo cp1-bad >> fp1 | ||||
$ hg add fp1 | ||||
$ hg qpush -e p1 | ||||
abort: local changes found, refresh first | ||||
[255] | ||||
$ hg qpush -e p1 -f | ||||
applying p0 | ||||
applying p1 | ||||
file fp1 already exists | ||||
1 out of 1 hunks FAILED -- saving rejects to file fp1.rej | ||||
patch failed, unable to continue (try -v) | ||||
patch failed, rejects left in working dir | ||||
errors during apply, please fix and refresh p1 | ||||
[2] | ||||
$ cat fp1 | ||||
cp1-bad | ||||
$ cat fp1.rej | ||||
--- fp1 | ||||
+++ fp1 | ||||
@@ -0,0 +1,1 @@ | ||||
+cp1 | ||||
$ hg qpop -aqf | ||||
patch queue now empty | ||||
$ rm fp1 | ||||
$ rm fp1.rej | ||||
qpush --exact when already at a patch | ||||
$ hg update 1 | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg qpush -e p0 | ||||
applying p0 | ||||
now at: p0 | ||||
$ hg qpush -e p1 | ||||
abort: cannot push --exact with applied patches | ||||
[255] | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
qpush --exact --move should fail | ||||
$ hg qpush -e --move p1 | ||||
abort: cannot use --exact and --move together | ||||
[255] | ||||
qpush --exact a patch without a parent recorded | ||||
$ hg qpush -q | ||||
now at: p0 | ||||
$ grep -v '# Parent' .hg/patches/p0 > p0.new | ||||
$ mv p0.new .hg/patches/p0 | ||||
$ hg qpop -aq | ||||
patch queue now empty | ||||
$ hg qpush -e | ||||
abort: p0 does not have a parent recorded | ||||
[255] | ||||
$ hg qpush -e p0 | ||||
abort: p0 does not have a parent recorded | ||||
[255] | ||||
$ hg qpush -e p1 | ||||
abort: p0 does not have a parent recorded | ||||
[255] | ||||
$ hg qpush -ea | ||||
abort: p0 does not have a parent recorded | ||||
[255] | ||||