test-merge-prompt.t
143 lines
| 3.4 KiB
| text/troff
|
Tads3Lexer
/ tests / test-merge-prompt.t
Matt Mackall
|
r12328 | Test for | ||
b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again | ||||
(issue897) | ||||
840e2b315c1f: Fix misleading error and prompts during update/merge | ||||
(issue556) | ||||
Adrian Buehlmann
|
r12259 | |||
$ status() { | ||||
> [ $? -ne 0 ] && echo "failed." | ||||
> echo "--- status ---" | ||||
> hg st -A file1 file2 | ||||
> for file in file1 file2; do | ||||
> if [ -f $file ]; then | ||||
> echo "--- $file ---" | ||||
> cat $file | ||||
> else | ||||
> echo "*** $file does not exist" | ||||
> fi | ||||
> done | ||||
> } | ||||
$ hg init | ||||
$ echo 1 > file1 | ||||
$ echo 2 > file2 | ||||
$ hg ci -Am 'added file1 and file2' | ||||
adding file1 | ||||
adding file2 | ||||
$ hg rm file1 | ||||
$ echo changed >> file2 | ||||
$ hg ci -m 'removed file1, changed file2' | ||||
$ hg co 0 | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ echo changed >> file1 | ||||
$ hg rm file2 | ||||
$ hg ci -m 'changed file1, removed file2' | ||||
created new head | ||||
Non-interactive merge: | ||||
$ hg merge -y || echo "failed" | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? c | ||||
remote changed file2 which local deleted | ||||
use (c)hanged version or leave (d)eleted? c | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ status | ||||
--- status --- | ||||
M file2 | ||||
C file1 | ||||
--- file1 --- | ||||
1 | ||||
changed | ||||
--- file2 --- | ||||
2 | ||||
changed | ||||
Interactive merge: | ||||
$ hg co -C | ||||
0 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg merge --config ui.interactive=true <<EOF || echo "failed" | ||||
> c | ||||
> d | ||||
> EOF | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? remote changed file2 which local deleted | ||||
use (c)hanged version or leave (d)eleted? 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ status | ||||
--- status --- | ||||
file2: No such file or directory | ||||
C file1 | ||||
--- file1 --- | ||||
1 | ||||
changed | ||||
*** file2 does not exist | ||||
Interactive merge with bad input: | ||||
$ hg co -C | ||||
0 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ hg merge --config ui.interactive=true <<EOF || echo "failed" | ||||
> foo | ||||
> bar | ||||
> d | ||||
> baz | ||||
> c | ||||
> EOF | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? unrecognized response | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? unrecognized response | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? remote changed file2 which local deleted | ||||
use (c)hanged version or leave (d)eleted? unrecognized response | ||||
remote changed file2 which local deleted | ||||
use (c)hanged version or leave (d)eleted? 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
$ status | ||||
--- status --- | ||||
M file2 | ||||
R file1 | ||||
*** file1 does not exist | ||||
--- file2 --- | ||||
2 | ||||
changed | ||||
Interactive merge with not enough input: | ||||
$ hg co -C | ||||
1 files updated, 0 files merged, 1 files removed, 0 files unresolved | ||||
$ hg merge --config ui.interactive=true <<EOF || echo "failed" | ||||
> d | ||||
> EOF | ||||
local changed file1 which remote deleted | ||||
use (c)hanged version or (d)elete? remote changed file2 which local deleted | ||||
use (c)hanged version or leave (d)eleted? abort: response expected | ||||
failed | ||||
$ status | ||||
--- status --- | ||||
file2: No such file or directory | ||||
C file1 | ||||
--- file1 --- | ||||
1 | ||||
changed | ||||
*** file2 does not exist | ||||