tests/test-merge9.t
author Matt Mackall <mpm@selenic.com>
Sun, 23 Oct 2011 16:32:27 -0500
branchstable
changeset 15348 c681e478c429
parent 12346 3b165c127690
child 15501 2371f4aea665
permissions -rw-r--r--
windows: sanity-check symlink placeholders On Windows, we store symlinks as plain files with the link contents. Via user error or NFS/Samba assistance, these files often end up with 'normal' file contents. Committing these changes thus gives an invalid symlink that can't be checked out on Unix. Here we filter out any modified symlink placeholders that look suspicious when computing status: - more than 1K (looks more like a normal file) - contain NULs (not allowed on Unix, probably a binary) - contains \n (filenames can't contain \n, very unusual for symlinks, very common for files)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     1
test that we don't interrupt the merge session if
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     2
a file-level merge failed
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     3
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     4
  $ hg init repo
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     5
  $ cd repo
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     6
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     7
  $ echo foo > foo
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     8
  $ echo a > bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
     9
  $ hg ci -Am 'add foo'
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    10
  adding bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    11
  adding foo
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    13
  $ hg mv foo baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    14
  $ echo b >> bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    15
  $ echo quux > quux1
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    16
  $ hg ci -Am 'mv foo baz'
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    17
  adding quux1
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    18
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    19
  $ hg up -qC 0
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    20
  $ echo >> foo
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    21
  $ echo c >> bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    22
  $ echo quux > quux2
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    23
  $ hg ci -Am 'change foo'
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    24
  adding quux2
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    25
  created new head
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    26
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    27
test with the rename on the remote side
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    28
  $ HGMERGE=false hg merge
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    29
  merging bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    30
  merging bar failed!
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    31
  merging foo and baz to baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    32
  1 files updated, 1 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11982
diff changeset
    33
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    34
  [1]
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    35
  $ hg resolve -l
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    36
  U bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    37
  R baz
4682
dc5920ea12f8 merge: fix small bug with a failed merge across a rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    38
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    39
test with the rename on the local side
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    40
  $ hg up -C 1
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    41
  3 files updated, 0 files merged, 1 files removed, 0 files unresolved
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    42
  $ HGMERGE=false hg merge
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    43
  merging bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    44
  merging bar failed!
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    45
  merging baz and foo to baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    46
  1 files updated, 1 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11982
diff changeset
    47
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    48
  [1]
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    49
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    50
show unresolved
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    51
  $ hg resolve -l
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    52
  U bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    53
  R baz
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    54
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    55
unmark baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    56
  $ hg resolve -u baz
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    57
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    58
show
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    59
  $ hg resolve -l
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    60
  U bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    61
  U baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    62
  $ hg st
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    63
  M bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    64
  M baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    65
  M quux2
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    66
  ? bar.orig
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    67
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    68
re-resolve baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    69
  $ hg resolve baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    70
  merging baz and foo to baz
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    71
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    72
after resolve
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    73
  $ hg resolve -l
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    74
  U bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    75
  R baz
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    76
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    77
resolve all warning
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    78
  $ hg resolve
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    79
  abort: no files or directories specified; use --all to remerge all files
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    80
  [255]
7527
5a14a8f3b909 resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents: 6518
diff changeset
    81
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    82
resolve all
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    83
  $ hg resolve -a
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    84
  merging bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    85
  warning: conflicts during merge.
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    86
  merging bar failed!
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
    87
  [1]
6518
92ccccb55ba3 resolve: new command
Matt Mackall <mpm@selenic.com>
parents: 4682
diff changeset
    88
11982
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    89
after
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    90
  $ hg resolve -l
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    91
  U bar
56d9b73487ff tests: unify test-merge9
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 8167
diff changeset
    92
  R baz