tests/test-merge-changedelete.t
author Siddharth Agarwal <sid0@fb.com>
Mon, 16 Nov 2015 11:27:27 -0800
changeset 26978 9b9d4bcc915e
parent 26947 fdfc50d09e8d
child 27125 969ca40cad1d
permissions -rw-r--r--
filectx: add isabsent method This will indicate whether this filectx represents a file that is *not* in a changectx. This will be used by merge and filemerge code to know about when a conflict is a change/delete conflict. While this is kind of hacky, it is the least bad of all the alternatives. Other options considered but rejected include: - isinstance(fctx, ...) -- not very Pythonic, doesn't support duck typing - fctx.size() is None -- the 'size()' call on workingfilectxes causes a disk stat - fctx.filenode() == nullid -- the semantics around filenode are incredibly confusing. In particular, for workingfilectxes, filenode() is always None no matter whether the file is present on disk or in either parent. Having different behavior for None versus nullid in the merge code is just asking for pain. Thanks to Pierre-Yves David for early review feedback here.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     1
Test for
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     2
b5605d88dc27: Make ui.prompt repeat on "unrecognized response" again
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     3
 (issue897)
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     4
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     5
840e2b315c1f: Fix misleading error and prompts during update/merge
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12259
diff changeset
     6
 (issue556)
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
     7
26895
fc41f9ffd4a4 test-merge-prompt.t: unset HGMERGE
Siddharth Agarwal <sid0@fb.com>
parents: 26850
diff changeset
     8
Make sure HGMERGE doesn't interfere with the test
fc41f9ffd4a4 test-merge-prompt.t: unset HGMERGE
Siddharth Agarwal <sid0@fb.com>
parents: 26850
diff changeset
     9
  $ unset HGMERGE
fc41f9ffd4a4 test-merge-prompt.t: unset HGMERGE
Siddharth Agarwal <sid0@fb.com>
parents: 26850
diff changeset
    10
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    11
  $ status() {
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    12
  >     echo "--- status ---"
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    13
  >     hg st -A file1 file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    14
  >     for file in file1 file2; do
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    15
  >         if [ -f $file ]; then
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    16
  >             echo "--- $file ---"
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    17
  >             cat $file
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    18
  >         else
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    19
  >             echo "*** $file does not exist"
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    20
  >         fi
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    21
  >     done
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    22
  > }
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    23
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    24
  $ hg init
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    25
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    26
  $ echo 1 > file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    27
  $ echo 2 > file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    28
  $ hg ci -Am 'added file1 and file2'
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    29
  adding file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    30
  adding file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    31
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    32
  $ hg rm file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    33
  $ echo changed >> file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    34
  $ hg ci -m 'removed file1, changed file2'
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    35
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    36
  $ hg co 0
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    37
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    38
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    39
  $ echo changed >> file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    40
  $ hg rm file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    41
  $ hg ci -m 'changed file1, removed file2'
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    42
  created new head
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    43
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    44
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    45
Non-interactive merge:
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    46
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
    47
  $ hg merge -y
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
    48
  local changed file1 which remote deleted
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    49
  use (c)hanged version or (d)elete? c
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    50
  remote changed file2 which local deleted
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    51
  use (c)hanged version or leave (d)eleted? c
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    52
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    53
  (branch merge, don't forget to commit)
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    54
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    55
  $ status
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    56
  --- status ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    57
  M file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    58
  C file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    59
  --- file1 ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    60
  1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    61
  changed
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    62
  --- file2 ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    63
  2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    64
  changed
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    65
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    66
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    67
Interactive merge:
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    68
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    69
  $ hg co -C
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    70
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    71
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
    72
  $ hg merge --config ui.interactive=true <<EOF
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    73
  > c
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    74
  > d
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    75
  > EOF
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
    76
  local changed file1 which remote deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
    77
  use (c)hanged version or (d)elete? c
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
    78
  remote changed file2 which local deleted
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
    79
  use (c)hanged version or leave (d)eleted? d
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
    80
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    81
  (branch merge, don't forget to commit)
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    82
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    83
  $ status
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    84
  --- status ---
15521
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 12365
diff changeset
    85
  file2: * (glob)
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    86
  C file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    87
  --- file1 ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    88
  1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    89
  changed
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    90
  *** file2 does not exist
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    91
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    92
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    93
Interactive merge with bad input:
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    94
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    95
  $ hg co -C
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    96
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    97
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
    98
  $ hg merge --config ui.interactive=true <<EOF
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
    99
  > foo
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   100
  > bar
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   101
  > d
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   102
  > baz
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   103
  > c
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   104
  > EOF
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
   105
  local changed file1 which remote deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   106
  use (c)hanged version or (d)elete? foo
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   107
  unrecognized response
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
   108
  local changed file1 which remote deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   109
  use (c)hanged version or (d)elete? bar
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   110
  unrecognized response
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
   111
  local changed file1 which remote deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   112
  use (c)hanged version or (d)elete? d
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   113
  remote changed file2 which local deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   114
  use (c)hanged version or leave (d)eleted? baz
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   115
  unrecognized response
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   116
  remote changed file2 which local deleted
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   117
  use (c)hanged version or leave (d)eleted? c
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   118
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   119
  (branch merge, don't forget to commit)
5672
8a65ea986755 Tests for b5605d88dc27 and 840e2b315c1f (interactive prompts during merge)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
   120
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   121
  $ status
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   122
  --- status ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   123
  M file2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   124
  R file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   125
  *** file1 does not exist
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   126
  --- file2 ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   127
  2
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   128
  changed
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   129
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   130
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   131
Interactive merge with not enough input:
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   132
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   133
  $ hg co -C
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   134
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   135
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
   136
  $ hg merge --config ui.interactive=true <<EOF
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   137
  > d
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   138
  > EOF
18543
c8ba98bf0e71 merge: don't indent "local changed %s which remote deleted" prompt
Mads Kiilerich <madski@unity3d.com>
parents: 15521
diff changeset
   139
  local changed file1 which remote deleted
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   140
  use (c)hanged version or (d)elete? d
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 18543
diff changeset
   141
  remote changed file2 which local deleted
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   142
  use (c)hanged version or leave (d)eleted? abort: response expected
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12328
diff changeset
   143
  [255]
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   144
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   145
  $ status
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   146
  --- status ---
15521
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 12365
diff changeset
   147
  file2: * (glob)
12259
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   148
  C file1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   149
  --- file1 ---
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   150
  1
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   151
  changed
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   152
  *** file2 does not exist
7b05cb9ac6d2 tests: unify test-merge-prompt
Adrian Buehlmann <adrian@cadifra.com>
parents: 5672
diff changeset
   153
26850
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   154
Non-interactive linear update
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   155
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   156
  $ hg co -C 0
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   157
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   158
  $ echo changed >> file1
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   159
  $ hg rm file2
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   160
  $ hg update 1 -y
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   161
  local changed file1 which remote deleted
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   162
  use (c)hanged version or (d)elete? c
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   163
  remote changed file2 which local deleted
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   164
  use (c)hanged version or leave (d)eleted? c
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   165
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   166
  $ status
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   167
  --- status ---
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   168
  A file1
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   169
  C file2
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   170
  --- file1 ---
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   171
  1
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   172
  changed
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   173
  --- file2 ---
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   174
  2
00209e38e7d9 test-merge-prompt.t: add tests for linear updates + change/delete conflicts
Siddharth Agarwal <sid0@fb.com>
parents: 22589
diff changeset
   175
  changed