tests/test-merge5.t
author Mads Kiilerich <madski@unity3d.com>
Mon, 28 Jan 2013 15:19:44 +0100
branchstable
changeset 18488 a977b42df8b3
parent 17849 6da47b655d97
child 19798 76df01e56e7f
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:
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     1
  $ hg init
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     2
  $ echo This is file a1 > a
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     3
  $ echo This is file b1 > b
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     4
  $ hg add a b
12155
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
     5
  $ hg commit -m "commit #0"
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     6
  $ echo This is file b22 > b
12155
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
     7
  $ hg commit -m "comment #1"
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     8
  $ hg update 0
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
     9
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    10
  $ rm b
12155
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    11
  $ hg commit -A -m "comment #2"
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    12
  removing b
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    13
  created new head
12154
c85e07a2d783 test-merge5: ensure updating to tip across branches is tested
Brodie Rao <brodie@bitheap.org>
parents: 11978
diff changeset
    14
  $ hg update 1
c85e07a2d783 test-merge5: ensure updating to tip across branches is tested
Brodie Rao <brodie@bitheap.org>
parents: 11978
diff changeset
    15
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
c85e07a2d783 test-merge5: ensure updating to tip across branches is tested
Brodie Rao <brodie@bitheap.org>
parents: 11978
diff changeset
    16
  $ hg update
14485
610873cf064a Make pull -u behave like pull && update
Brendan Cully <brendan@kublai.com>
parents: 12681
diff changeset
    17
  abort: crosses branches (merge branches or update --check to force update)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12155
diff changeset
    18
  [255]
17849
6da47b655d97 update: check for missing files with --check (issue3595)
Matt Mackall <mpm@selenic.com>
parents: 14485
diff changeset
    19
  $ rm b
6da47b655d97 update: check for missing files with --check (issue3595)
Matt Mackall <mpm@selenic.com>
parents: 14485
diff changeset
    20
  $ hg update -c
6da47b655d97 update: check for missing files with --check (issue3595)
Matt Mackall <mpm@selenic.com>
parents: 14485
diff changeset
    21
  abort: uncommitted local changes
6da47b655d97 update: check for missing files with --check (issue3595)
Matt Mackall <mpm@selenic.com>
parents: 14485
diff changeset
    22
  [255]
6da47b655d97 update: check for missing files with --check (issue3595)
Matt Mackall <mpm@selenic.com>
parents: 14485
diff changeset
    23
  $ hg revert b
12154
c85e07a2d783 test-merge5: ensure updating to tip across branches is tested
Brodie Rao <brodie@bitheap.org>
parents: 11978
diff changeset
    24
  $ hg update -c
c85e07a2d783 test-merge5: ensure updating to tip across branches is tested
Brodie Rao <brodie@bitheap.org>
parents: 11978
diff changeset
    25
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    26
  $ mv a c
415
c2b9502a4e96 [PATCH] Don't prompt user for keep-vs-delete when the merge is about to be aborted
mpm@selenic.com
parents:
diff changeset
    27
12155
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    28
In theory, we shouldn't need the "-y" below, but it prevents this test
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    29
from hanging when "hg update" erroneously prompts the user for "keep
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    30
or delete".
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    31
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    32
Should abort:
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    33
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    34
  $ hg update -y 1
12681
bc13e17067d9 update: use higher level wording for "crosses branches" error
Brodie Rao <brodie@bitheap.org>
parents: 12316
diff changeset
    35
  abort: crosses branches (merge branches or use --clean to discard changes)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12155
diff changeset
    36
  [255]
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    37
  $ mv c a
12155
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    38
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    39
Should succeed:
94ad12aa0530 test-merge5: removed unnecessary parts of test
Martin Geisler <mg@lazybytes.net>
parents: 12154
diff changeset
    40
11978
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    41
  $ hg update -y 1
ef4a1ffbf519 tests: unify test-merge5
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 6350
diff changeset
    42
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved