test-commit-interactive-curses.t
168 lines
| 2.7 KiB
| text/troff
|
Tads3Lexer
/ tests / test-commit-interactive-curses.t
Laurent Charignon
|
r24344 | Set up a repo | ||
$ cat <<EOF >> $HGRCPATH | ||||
> [ui] | ||||
> interactive = true | ||||
> [experimental] | ||||
> crecord = true | ||||
> crecordtest = testModeCommands | ||||
> EOF | ||||
$ hg init a | ||||
$ cd a | ||||
Committing some changes but stopping on the way | ||||
$ echo "a" > a | ||||
$ hg add a | ||||
$ cat <<EOF >testModeCommands | ||||
> TOGGLE | ||||
> X | ||||
> EOF | ||||
$ hg commit -i -m "a" -d "0 0" | ||||
no changes to record | ||||
$ hg tip | ||||
changeset: -1:000000000000 | ||||
tag: tip | ||||
user: | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
Committing some changes | ||||
$ cat <<EOF >testModeCommands | ||||
> X | ||||
> EOF | ||||
$ hg commit -i -m "a" -d "0 0" | ||||
$ hg tip | ||||
changeset: 0:cb9a9f314b8b | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: a | ||||
Committing only one file | ||||
$ echo "a" >> a | ||||
Matt Harbison
|
r24434 | >>> open('b', 'wb').write("1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n") | ||
Laurent Charignon
|
r24344 | $ hg add b | ||
$ cat <<EOF >testModeCommands | ||||
> TOGGLE | ||||
> KEY_DOWN | ||||
> X | ||||
> EOF | ||||
$ hg commit -i -m "one file" -d "0 0" | ||||
$ hg tip | ||||
changeset: 1:fb2705a663ea | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: one file | ||||
$ hg cat -r tip a | ||||
a | ||||
$ cat a | ||||
a | ||||
a | ||||
Laurent Charignon
|
r25557 | Committing only one hunk while aborting edition of hunk | ||
Laurent Charignon
|
r24344 | |||
- Untoggle all the hunks, go down to the second file | ||||
- unfold it | ||||
- go down to second hunk (1 for the first hunk, 1 for the first hunkline, 1 for the second hunk, 1 for the second hunklike) | ||||
- toggle the second hunk | ||||
Laurent Charignon
|
r25557 | - edit the hunk and quit the editor imediately with non-zero status | ||
Laurent Charignon
|
r24344 | - commit | ||
Laurent Charignon
|
r25557 | $ printf "printf 'editor ran\n'; exit 1" > editor.sh | ||
Laurent Charignon
|
r24344 | $ echo "x" > c | ||
$ cat b >> c | ||||
$ echo "y" >> c | ||||
$ mv c b | ||||
$ cat <<EOF >testModeCommands | ||||
> A | ||||
> KEY_DOWN | ||||
> f | ||||
> KEY_DOWN | ||||
> KEY_DOWN | ||||
> KEY_DOWN | ||||
> KEY_DOWN | ||||
> TOGGLE | ||||
Laurent Charignon
|
r25557 | > e | ||
Laurent Charignon
|
r24344 | > X | ||
> EOF | ||||
Laurent Charignon
|
r25557 | $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg commit -i -m "one hunk" -d "0 0" | ||
editor ran | ||||
$ rm editor.sh | ||||
Laurent Charignon
|
r24344 | $ hg tip | ||
changeset: 2:7d10dfe755a8 | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: one hunk | ||||
$ hg cat -r tip b | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
y | ||||
$ cat b | ||||
x | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
y | ||||
$ hg commit -m "other hunks" | ||||
$ hg tip | ||||
changeset: 3:a6735021574d | ||||
tag: tip | ||||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: other hunks | ||||
$ hg cat -r tip b | ||||
x | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
y | ||||
Laurent Charignon
|
r24469 | Newly added files can be selected with the curses interface | ||
Laurent Charignon
|
r24344 | |||
Laurent Charignon
|
r24469 | $ hg update -C . | ||
Laurent Charignon
|
r24837 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||
Laurent Charignon
|
r24469 | $ echo "hello" > x | ||
$ hg add x | ||||
$ cat <<EOF >testModeCommands | ||||
> TOGGLE | ||||
> TOGGLE | ||||
> X | ||||
> EOF | ||||
$ hg st | ||||
A x | ||||
? testModeCommands | ||||
$ hg commit -i -m "newly added file" -d "0 0" | ||||
$ hg st | ||||
? testModeCommands | ||||