tests/test-merge9.t
author Mads Kiilerich <madski@unity3d.com>
Mon, 28 Jan 2013 15:19:44 +0100
branchstable
changeset 18488 a977b42df8b3
parent 16913 f2719b387380
child 21940 9209c02f1f25
permissions -rw-r--r--
largefiles: don't verify largefile hashes on servers when processing statlfile When changesets referencing largefiles are pushed then the corresponding largefiles will be pushed too - unless the target already has them. The client will use statlfile to make sure it only sends largefiles that the target doesn't have. The server would however on every statlfile check that the content of the largefile had the expected hash. What should be cheap thus became an expensive operation that trashed the disk and the cache. Largefile hashes are already checked by putlfile before being stored on the server. A server should thus be able to keep its largefile store free of errors - even more than it can keep revlogs free of errors. Verification should happen when running 'hg verify' locally on the server. Rehashing every largefile on every remote stat is too expensive. Clients will also stat lfiles before downloading them. When the server verified the hash in stat it meant that it had to read the file twice to serve it. With this change the server will assume its own hashes are ok without checking them on every statlfile. Some consequences of this change: - in case of server side corruption the problem will be detected by the existing check on the client side - not on server side - clients that could upload an uncorrupted largefile when pushing will no longer magically heal the server (and break hardlinks) - a client will now only upload its uncorrupted files after the corrupted file has been removed on the server side - client side verify will no longer report corruption in files it doesn't have (Issue3123 discussed related problems - and how they have been fixed.)
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.
15501
2371f4aea665 merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents: 12346
diff changeset
    86
  merging bar incomplete! (edit conflicts, then use 'hg resolve --mark')
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
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
    93
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15501
diff changeset
    94
  $ cd ..