##// END OF EJS Templates
merge with default to begin 4.6 freeze...
merge with default to begin 4.6 freeze # no-check-commit because of many vendored packages

File last commit:

r36212:39b3aab6 default
r37806:ed5448ed merge 4.6rc0 stable
Show More
test-revert-interactive.t
432 lines | 7.4 KiB | text/troff | Tads3Lexer
/ tests / test-revert-interactive.t
Laurent Charignon
revert: add flag to make revert interactive
r24359 Revert interactive tests
1 add and commit file f
2 add commit file folder1/g
3 add and commit file folder2/h
4 add and commit file folder1/i
5 commit change to file f
6 commit changes to files folder1/g folder2/h
7 commit changes to files folder1/g folder2/h
8 revert interactive to commit id 2 (line 3 above), check that folder1/i is removed and
9 make workdir match 7
10 run the same test than 8 from within folder1 and check same expectations
$ cat <<EOF >> $HGRCPATH
> [ui]
> interactive = true
> [extensions]
> record =
liscju
revert: makes interactive mode ask to forget added files (issue4936)...
r27985 > purge =
Laurent Charignon
revert: add flag to make revert interactive
r24359 > EOF
Yuya Nishihara
test-revert-interactive: eliminate bashism in wildcard pattern...
r24389 $ mkdir -p a/folder1 a/folder2
Laurent Charignon
revert: add flag to make revert interactive
r24359 $ cd a
$ hg init
Matt Harbison
test-interactive: use stable EOL in various file generating routines...
r24434 >>> open('f', 'wb').write("1\n2\n3\n4\n5\n")
$ hg add f ; hg commit -m "adding f"
Matt Harbison
tests: replace uses of 'seq' with portable 'seq.py'
r24361 $ cat f > folder1/g ; hg add folder1/g ; hg commit -m "adding folder1/g"
$ cat f > folder2/h ; hg add folder2/h ; hg commit -m "adding folder2/h"
$ cat f > folder1/i ; hg add folder1/i ; hg commit -m "adding folder1/i"
Matt Harbison
test-interactive: use stable EOL in various file generating routines...
r24434 >>> open('f', 'wb').write("a\n1\n2\n3\n4\n5\nb\n")
$ hg commit -m "modifying f"
>>> open('folder1/g', 'wb').write("c\n1\n2\n3\n4\n5\nd\n")
$ hg commit -m "modifying folder1/g"
>>> open('folder2/h', 'wb').write("e\n1\n2\n3\n4\n5\nf\n")
$ hg commit -m "modifying folder2/h"
Laurent Charignon
revert: add flag to make revert interactive
r24359 $ hg tip
changeset: 6:59dd6e4ab63a
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: modifying folder2/h
$ hg revert -i -r 2 --all -- << EOF
> y
> y
> y
> y
> y
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 > ?
Denis Laxalde
revert: prompt before removing files in interactive mode...
r30532 > y
Laurent Charignon
revert: add flag to make revert interactive
r24359 > n
> n
> EOF
reverting f
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting folder1/g
removing folder1/i
reverting folder2/h
Denis Laxalde
revert: prompt before removing files in interactive mode...
r30532 remove added file folder1/i (Yn)? y
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/f b/f
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'f'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -1,6 +1,5 @@
-a
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply change 1/6 to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -2,6 +1,5 @@
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -b
apply change 2/6 to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/folder1/g b/folder1/g
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'folder1/g'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -1,6 +1,5 @@
-c
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply change 3/6 to 'folder1/g'? [Ynesfdaq?] ?
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 y - yes, apply this change
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 n - no, skip this change
e - edit this change manually
s - skip remaining changes to this file
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 f - apply remaining changes to this file
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 d - done, skip remaining changes and files
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 a - apply all changes to all remaining files
q - quit, applying no changes
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 ? - ? (display help)
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply change 3/6 to 'folder1/g'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -2,6 +1,5 @@
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -d
apply change 4/6 to 'folder1/g'? [Ynesfdaq?] n
Laurent Charignon
revert: add flag to make revert interactive
r24359
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/folder2/h b/folder2/h
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'folder2/h'? [Ynesfdaq?] n
$ cat f
1
2
3
4
5
$ cat folder1/g
1
2
3
4
5
d
$ cat folder2/h
e
1
2
3
4
5
f
Pierre-Yves David
revert: do not requires '--all' if '--interative' is present...
r24698
Test that --interactive lift the need for --all
$ echo q | hg revert -i -r 2
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting folder1/g
reverting folder2/h
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/folder1/g b/folder1/g
Pierre-Yves David
revert: do not requires '--all' if '--interative' is present...
r24698 1 hunks, 1 lines changed
examine changes to 'folder1/g'? [Ynesfdaq?] q
abort: user quit
[255]
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498 $ ls folder1/
g
Mads Kiilerich
spelling: fixes of non-dictionary words
r30332 Test that a noop revert doesn't do an unnecessary backup
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498 $ (echo y; echo n) | hg revert -i -r 2 folder1/g
diff --git a/folder1/g b/folder1/g
1 hunks, 1 lines changed
examine changes to 'folder1/g'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -3,4 +3,3 @@
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498 3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -d
apply this change to 'folder1/g'? [Ynesfdaq?] n
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498
$ ls folder1/
g
Test --no-backup
$ (echo y; echo y) | hg revert -i -C -r 2 folder1/g
diff --git a/folder1/g b/folder1/g
1 hunks, 1 lines changed
examine changes to 'folder1/g'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -3,4 +3,3 @@
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498 3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -d
apply this change to 'folder1/g'? [Ynesfdaq?] y
skarlage
revert: don't backup if no files reverted in interactive mode (issue4793)...
r29498
$ ls folder1/
g
>>> open('folder1/g', 'wb').write("1\n2\n3\n4\n5\nd\n")
Pierre-Yves David
revert: do not requires '--all' if '--interative' is present...
r24698
Laurent Charignon
revert: add flag to make revert interactive
r24359 $ hg update -C 6
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg revert -i -r 2 --all -- << EOF
Denis Laxalde
revert: prompt before removing files in interactive mode...
r30532 > n
Laurent Charignon
revert: add flag to make revert interactive
r24359 > y
> y
> y
> y
> y
> n
> n
> EOF
reverting f
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 reverting folder1/g
removing folder1/i
reverting folder2/h
Denis Laxalde
revert: prompt before removing files in interactive mode...
r30532 remove added file folder1/i (Yn)? n
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/f b/f
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'f'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -1,6 +1,5 @@
-a
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply change 1/6 to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -2,6 +1,5 @@
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -b
apply change 2/6 to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/folder1/g b/folder1/g
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'folder1/g'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -1,6 +1,5 @@
-c
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply change 3/6 to 'folder1/g'? [Ynesfdaq?] y
Laurent Charignon
revert: add flag to make revert interactive
r24359
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -2,6 +1,5 @@
Laurent Charignon
revert: add flag to make revert interactive
r24359 1
2
3
4
5
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -d
apply change 4/6 to 'folder1/g'? [Ynesfdaq?] n
Laurent Charignon
revert: add flag to make revert interactive
r24359
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/folder2/h b/folder2/h
Laurent Charignon
revert: add flag to make revert interactive
r24359 2 hunks, 2 lines changed
examine changes to 'folder2/h'? [Ynesfdaq?] n
$ cat f
1
2
3
4
5
$ cat folder1/g
1
2
3
4
5
d
$ cat folder2/h
e
1
2
3
4
5
f
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475 $ hg st
M f
M folder1/g
$ hg revert --interactive f << EOF
> y
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 > ?
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475 > y
> n
> n
> EOF
Laurent Charignon
revert: make revert --interactive use git style diff...
r25258 diff --git a/f b/f
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475 2 hunks, 2 lines changed
examine changes to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: change the direction of revert -i...
r25657 @@ -1,6 +1,5 @@
-a
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475 1
2
3
4
5
Boris Feld
record: update help message to use operation instead of "record" (issue5432)...
r32068 discard change 1/2 to 'f'? [Ynesfdaq?] ?
y - yes, discard this change
n - no, skip this change
e - edit this change manually
s - skip remaining changes to this file
f - discard remaining changes to this file
d - done, skip remaining changes and files
a - discard all changes to all remaining files
q - quit, discarding no changes
? - ? (display help)
Denis Laxalde
revert: use "discard"/"revert" verb when reverting interactively (issue5143)...
r29283 discard change 1/2 to 'f'? [Ynesfdaq?] y
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475
Laurent Charignon
revert: change the direction of revert -i...
r25657 @@ -2,6 +1,5 @@
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475 1
2
3
4
5
Laurent Charignon
revert: change the direction of revert -i...
r25657 -b
Denis Laxalde
revert: use "discard"/"revert" verb when reverting interactively (issue5143)...
r29283 discard change 2/2 to 'f'? [Ynesfdaq?] n
Laurent Charignon
revert: fix --interactive on local modification (issue4576)...
r24475
$ hg st
M f
M folder1/g
? f.orig
$ cat f
a
1
2
3
4
5
$ cat f.orig
1
2
3
4
5
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259 $ rm f.orig
$ hg update -C .
Denis Laxalde
revert: prompt before removing files in interactive mode...
r30532 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259
Check editing files newly added by a revert
1) Create a dummy editor changing 1 to 42
$ cat > $TESTTMP/editor.sh << '__EOF__'
> cat "$1" | sed "s/1/42/g" > tt
> mv tt "$1"
> __EOF__
Laurent Charignon
revert: change a test to make the change of direction of revert -i easier...
r25656 2) Add k
$ printf "1\n" > k
$ hg add k
$ hg commit -m "add k"
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259
Laurent Charignon
revert: change a test to make the change of direction of revert -i easier...
r25656 3) Use interactive revert with editing (replacing +1 with +42):
$ printf "0\n2\n" > k
$ HGEDITOR="\"sh\" \"${TESTTMP}/editor.sh\"" hg revert -i <<EOF
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259 > y
> e
> EOF
Laurent Charignon
revert: change a test to make the change of direction of revert -i easier...
r25656 reverting k
diff --git a/k b/k
1 hunks, 2 lines changed
examine changes to 'k'? [Ynesfdaq?] y
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259
Laurent Charignon
revert: change the direction of revert -i...
r25657 @@ -1,1 +1,2 @@
-1
+0
+2
Denis Laxalde
revert: use "discard"/"revert" verb when reverting interactively (issue5143)...
r29283 discard this change to 'k'? [Ynesfdaq?] e
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259
Laurent Charignon
revert: change a test to make the change of direction of revert -i easier...
r25656 $ cat k
Laurent Charignon
revert: fix edition of newly added file during --interactive...
r25259 42
Laurent Charignon
revert: add an experimental config to use inverted selection...
r25424
liscju
revert: makes interactive mode ask to forget added files (issue4936)...
r27985 $ hg update -C .
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg purge
$ touch newfile
$ hg add newfile
$ hg status
A newfile
$ hg revert -i <<EOF
> n
> EOF
forgetting newfile
Denis Laxalde
revert: indicate the default choice when prompting to forget files
r30531 forget added file newfile (Yn)? n
liscju
revert: makes interactive mode ask to forget added files (issue4936)...
r27985 $ hg status
A newfile
$ hg revert -i <<EOF
> y
> EOF
forgetting newfile
Denis Laxalde
revert: indicate the default choice when prompting to forget files
r30531 forget added file newfile (Yn)? y
liscju
revert: makes interactive mode ask to forget added files (issue4936)...
r27985 $ hg status
? newfile
Jun Wu
record: fix revert -i for lines without newline (issue5651)...
r33941
When a line without EOL is selected during "revert -i" (issue5651)
$ hg init $TESTTMP/revert-i-eol
$ cd $TESTTMP/revert-i-eol
$ echo 0 > a
$ hg ci -qAm 0
$ printf 1 >> a
$ hg ci -qAm 1
$ cat a
0
1 (no-eol)
$ hg revert -ir'.^' <<EOF
> y
> y
> EOF
reverting a
diff --git a/a b/a
1 hunks, 1 lines changed
examine changes to 'a'? [Ynesfdaq?] y
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 @@ -1,2 +1,1 @@
Jun Wu
record: fix revert -i for lines without newline (issue5651)...
r33941 0
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 -1
Jun Wu
record: fix revert -i for lines without newline (issue5651)...
r33941 \ No newline at end of file
Denis Laxalde
revert: do not reverse hunks in interactive when REV is not parent (issue5096)...
r34969 apply this change to 'a'? [Ynesfdaq?] y
Jun Wu
record: fix revert -i for lines without newline (issue5651)...
r33941
$ cat a
0
Denis Laxalde
tests: add a test demonstrate that 'revert -i' ignores nonexistent patterns...
r36211 When specified pattern does not exist, we should exit early (issue5789).
$ hg files
a
$ hg rev b
b: no such file in rev b40d1912accf
$ hg rev -i b
b: no such file in rev b40d1912accf
Jun Wu
record: fix revert -i for lines without newline (issue5651)...
r33941 $ cd ..