tests/test-largefiles-update.t
author Augie Fackler <augie@google.com>
Wed, 12 Apr 2017 11:23:55 -0700
branchstable
changeset 32050 77eaf9539499
parent 30858 2d6b86cadc10
child 32718 1b5c61d38a52
permissions -rw-r--r--
dispatch: protect against malicious 'hg serve --stdio' invocations (sec) Some shared-ssh installations assume that 'hg serve --stdio' is a safe command to run for minimally trusted users. Unfortunately, the messy implementation of argument parsing here meant that trying to access a repo named '--debugger' would give the user a pdb prompt, thereby sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S) is unaffected. We're not currently hardening any subcommands other than 'serve'. If your service exposes other commands to users with arbitrary repository names, it is imperative that you defend against repository names of '--debugger' and anything starting with '--config'. The read-only mode of hg-ssh stopped working because it provided its hook configuration to "hg serve --stdio" via --config parameter. This is banned for security reasons now. This patch switches it to directly call ui.setconfig(). If your custom hosting infrastructure relies on passing --config to "hg serve --stdio", you'll need to find a different way to get that configuration into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch, or by placing an hgrc file someplace where Mercurial will read it. mitrandir@fb.com provided some extra fixes for the dispatch code and for hg-ssh in places that I overlooked.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     1
This file focuses mainly on updating largefiles in the working
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     2
directory (and ".hg/largefiles/dirstate")
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     3
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     4
  $ cat >> $HGRCPATH <<EOF
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     5
  > [ui]
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     6
  > merge = internal:fail
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     7
  > [extensions]
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     8
  > largefiles =
28052
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28035
diff changeset
     9
  > [extdiff]
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28035
diff changeset
    10
  > # for portability:
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28035
diff changeset
    11
  > pdiff = sh "$RUNTESTDIR/pdiff"
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    12
  > EOF
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    13
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    14
  $ hg init repo
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    15
  $ cd repo
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    16
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    17
  $ echo large1 > large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    18
  $ echo large2 > large2
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    19
  $ hg add --large large1 large2
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    20
  $ echo normal1 > normal1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    21
  $ hg add normal1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    22
  $ hg commit -m '#0'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    23
  $ echo 'large1 in #1' > large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    24
  $ echo 'normal1 in #1' > normal1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    25
  $ hg commit -m '#1'
28052
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28035
diff changeset
    26
  $ hg pdiff -r '.^' --config extensions.extdiff=
28033
0707bbec682d tests: omit -p for external diff via extdiff extension for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28030
diff changeset
    27
  diff -Nru repo.0d9d9b8dc9a3/.hglf/large1 repo/.hglf/large1
25812
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    28
  --- repo.0d9d9b8dc9a3/.hglf/large1	* (glob)
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    29
  +++ repo/.hglf/large1	* (glob)
28035
c65da6892ae5 tests: make chunk header of external diff glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
    30
  @@ -1* +1* @@ (glob)
25812
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    31
  -4669e532d5b2c093a78eca010077e708a071bb64
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    32
  +58e24f733a964da346e2407a2bee99d9001184f5
28033
0707bbec682d tests: omit -p for external diff via extdiff extension for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28030
diff changeset
    33
  diff -Nru repo.0d9d9b8dc9a3/normal1 repo/normal1
25812
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    34
  --- repo.0d9d9b8dc9a3/normal1	* (glob)
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    35
  +++ repo/normal1	* (glob)
28035
c65da6892ae5 tests: make chunk header of external diff glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
    36
  @@ -1* +1* @@ (glob)
25812
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    37
  -normal1
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    38
  +normal1 in #1
68822b7cdd01 extdiff: use archiver to take snapshots of committed revisions
Matt Harbison <matt_harbison@yahoo.com>
parents: 23841
diff changeset
    39
  [1]
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    40
  $ hg update -q -C 0
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    41
  $ echo 'large2 in #2' > large2
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    42
  $ hg commit -m '#2'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    43
  created new head
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    44
23841
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    45
Test that update also updates the lfdirstate of 'unsure' largefiles after
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    46
hashing them:
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    47
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    48
The previous operations will usually have left us with largefiles with a mtime
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    49
within the same second as the dirstate was written.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    50
The lfdirstate entries will thus have been written with an invalidated/unset
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    51
mtime to make sure further changes within the same second is detected.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    52
We will however occasionally be "lucky" and get a tick between writing
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    53
largefiles and writing dirstate so we get valid lfdirstate timestamps. The
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    54
following verification is thus disabled but can be verified manually.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    55
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    56
#if false
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    57
  $ hg debugdirstate --large --nodate
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    58
  n 644          7 unset               large1
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    59
  n 644         13 unset               large2
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    60
#endif
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    61
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    62
Wait to make sure we get a tick so the mtime of the largefiles become valid.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    63
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    64
  $ sleep 1
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    65
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    66
A linear merge will update standins before performing the actual merge. It will
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    67
do a lfdirstate status walk and find 'unset'/'unsure' files, hash them, and
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    68
update the corresponding standins.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    69
Verify that it actually marks the clean files as clean in lfdirstate so
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    70
we don't have to hash them again next time we update.
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    71
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    72
  $ hg up
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    73
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27903
diff changeset
    74
  1 other heads for branch "default"
23841
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    75
  $ hg debugdirstate --large --nodate
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    76
  n 644          7 set                 large1
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    77
  n 644         13 set                 large2
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    78
23694
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    79
Test that lfdirstate keeps track of last modification of largefiles and
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    80
prevents unnecessary hashing of content - also after linear/noop update
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    81
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    82
  $ sleep 1
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    83
  $ hg st
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    84
  $ hg debugdirstate --large --nodate
23840
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
    85
  n 644          7 set                 large1
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
    86
  n 644         13 set                 large2
23694
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    87
  $ hg up
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    88
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27903
diff changeset
    89
  1 other heads for branch "default"
23694
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    90
  $ hg debugdirstate --large --nodate
23840
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
    91
  n 644          7 set                 large1
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
    92
  n 644         13 set                 large2
23694
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    93
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    94
Test that "hg merge" updates largefiles from "other" correctly
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    95
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    96
(getting largefiles from "other" normally)
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    97
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    98
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    99
  C large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   100
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   101
  large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   102
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   103
  4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   104
  $ hg merge --config debug.dirstate.delaywrite=2
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   105
  getting changed largefiles
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   106
  1 largefiles updated, 0 removed
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   107
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   108
  (branch merge, don't forget to commit)
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   109
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   110
  M large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   111
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   112
  large1 in #1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   113
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   114
  58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   115
  $ hg diff -c 1 --nodates .hglf/large1 | grep '^[+-][0-9a-z]'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   116
  -4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   117
  +58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   118
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   119
(getting largefiles from "other" via conflict prompt)
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   120
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   121
  $ hg update -q -C 2
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   122
  $ echo 'large1 in #3' > large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   123
  $ echo 'normal1 in #3' > normal1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   124
  $ hg commit -m '#3'
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   125
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   126
  e5bb990443d6a92aaf7223813720f7566c9dd05b
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   127
  $ hg merge --config debug.dirstate.delaywrite=2 --config ui.interactive=True <<EOF
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   128
  > o
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   129
  > EOF
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   130
  largefile large1 has a merge conflict
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   131
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   132
  keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   133
  take (o)ther 58e24f733a964da346e2407a2bee99d9001184f5? o
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   134
  merging normal1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25812
diff changeset
   135
  warning: conflicts while merging normal1! (edit, then use 'hg resolve --mark')
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   136
  getting changed largefiles
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   137
  1 largefiles updated, 0 removed
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   138
  0 files updated, 1 files merged, 0 files removed, 1 files unresolved
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   139
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   140
  [1]
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   141
  $ hg status -A large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   142
  M large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   143
  $ cat large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   144
  large1 in #1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   145
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   146
  58e24f733a964da346e2407a2bee99d9001184f5
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   147
  $ rm normal1.orig
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   148
26627
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   149
(merge non-existing largefiles from "other" via conflict prompt -
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   150
make sure the following commit doesn't abort in a confusing way when trying to
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   151
mark the non-existing file as normal in lfdirstate)
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   152
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   153
  $ mv .hg/largefiles/58e24f733a964da346e2407a2bee99d9001184f5 .
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   154
  $ hg update -q -C 3
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   155
  $ hg merge --config largefiles.usercache=not --config debug.dirstate.delaywrite=2 --tool :local --config ui.interactive=True <<EOF
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   156
  > o
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   157
  > EOF
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   158
  largefile large1 has a merge conflict
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   159
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   160
  keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   161
  take (o)ther 58e24f733a964da346e2407a2bee99d9001184f5? o
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   162
  getting changed largefiles
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   163
  large1: largefile 58e24f733a964da346e2407a2bee99d9001184f5 not available from file:/*/$TESTTMP/repo (glob)
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   164
  0 largefiles updated, 0 removed
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   165
  0 files updated, 2 files merged, 0 files removed, 0 files unresolved
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   166
  (branch merge, don't forget to commit)
27903
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   167
  $ hg commit -m '1-2-3 testing' --config largefiles.usercache=not
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   168
  large1: largefile 58e24f733a964da346e2407a2bee99d9001184f5 not available from local store
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   169
  $ hg up -C . --config largefiles.usercache=not
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   170
  getting changed largefiles
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   171
  large1: largefile 58e24f733a964da346e2407a2bee99d9001184f5 not available from file:/*/$TESTTMP/repo (glob)
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   172
  0 largefiles updated, 0 removed
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   173
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   174
  $ hg st large1
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   175
  ! large1
26627
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   176
  $ hg rollback -q
27903
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   177
  $ mv 58e24f733a964da346e2407a2bee99d9001184f5 .hg/largefiles/
26627
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   178
21934
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   179
Test that "hg revert -r REV" updates largefiles from "REV" correctly
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   180
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   181
  $ hg update -q -C 3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   182
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   183
  C large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   184
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   185
  large1 in #3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   186
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   187
  e5bb990443d6a92aaf7223813720f7566c9dd05b
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   188
  $ hg diff -c 1 --nodates .hglf/large1 | grep '^[+-][0-9a-z]'
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   189
  -4669e532d5b2c093a78eca010077e708a071bb64
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   190
  +58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   191
  $ hg revert --no-backup -r 1 --config debug.dirstate.delaywrite=2 large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   192
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   193
  M large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   194
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   195
  large1 in #1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   196
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   197
  58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   198
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   199
Test that "hg rollback" restores status of largefiles correctly
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   200
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   201
  $ hg update -C -q
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   202
  $ hg remove large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   203
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   204
  [1]
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   205
  $ hg forget large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   206
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   207
  [1]
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   208
  $ echo largeX > largeX
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   209
  $ hg add --large largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   210
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   211
  
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   212
  $ hg commit -m 'will be rollback-ed soon'
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   213
  $ echo largeY > largeY
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   214
  $ hg add --large largeY
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   215
#if windows
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   216
  $ hg status -A large1
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   217
  large1: * (glob)
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   218
#else
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   219
  $ hg status -A large1
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   220
  large1: No such file or directory
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   221
#endif
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   222
  $ hg status -A large2
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   223
  ? large2
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   224
  $ hg status -A largeX
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   225
  C largeX
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   226
  $ hg status -A largeY
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   227
  A largeY
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   228
  $ hg rollback
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   229
  repository tip rolled back to revision 3 (undo commit)
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   230
  working directory now based on revision 3
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   231
  $ hg status -A large1
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   232
  R large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   233
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   234
  [1]
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   235
  $ hg status -A large2
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   236
  R large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   237
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   238
  [1]
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   239
  $ hg status -A largeX
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   240
  A largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   241
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   242
  
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   243
  $ hg status -A largeY
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   244
  ? largeY
22286
3f3b9483e7ef largefiles: unlink standins not known to the restored dirstate at rollback
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22285
diff changeset
   245
  $ test -f .hglf/largeY
3f3b9483e7ef largefiles: unlink standins not known to the restored dirstate at rollback
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22285
diff changeset
   246
  [1]
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   247
  $ rm largeY
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   248
22283
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   249
Test that "hg rollback" restores standins correctly
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   250
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   251
  $ hg commit -m 'will be rollback-ed soon'
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   252
  $ hg update -q -C 2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   253
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   254
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   255
  $ cat .hglf/large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   256
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   257
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   258
  large2 in #2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   259
  $ cat .hglf/large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   260
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   261
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   262
  $ hg rollback -q -f
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   263
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   264
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   265
  $ cat .hglf/large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   266
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   267
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   268
  large2 in #2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   269
  $ cat .hglf/large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   270
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   271
22284
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   272
(rollback the parent of the working directory, when the parent of it
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   273
is not branch-tip)
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   274
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   275
  $ hg update -q -C 1
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   276
  $ cat .hglf/large1
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   277
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   278
  $ cat .hglf/large2
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   279
  1deebade43c8c498a3c8daddac0244dc55d1331d
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   280
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   281
  $ echo normalX > normalX
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   282
  $ hg add normalX
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   283
  $ hg commit -m 'will be rollback-ed soon'
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   284
  $ hg rollback -q
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   285
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   286
  $ cat .hglf/large1
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   287
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   288
  $ cat .hglf/large2
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   289
  1deebade43c8c498a3c8daddac0244dc55d1331d
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   290
  $ rm normalX
22284
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   291
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   292
Test that "hg status" shows status of largefiles correctly just after
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   293
automated commit like rebase/transplant
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   294
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   295
  $ cat >> .hg/hgrc <<EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   296
  > [extensions]
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   297
  > rebase =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   298
  > strip =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   299
  > transplant =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   300
  > EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   301
  $ hg update -q -C 1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   302
  $ hg remove large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   303
  $ echo largeX > largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   304
  $ hg add --large largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   305
  $ hg commit -m '#4'
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   306
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   307
  $ hg rebase -s 1 -d 2 --keep
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   308
  rebasing 1:72518492caa6 "#1"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   309
  rebasing 4:07d6153b5c04 "#4" (tip)
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   310
#if windows
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   311
  $ hg status -A large1
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   312
  large1: * (glob)
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   313
#else
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   314
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   315
  large1: No such file or directory
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   316
#endif
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   317
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   318
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   319
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   320
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   321
  $ hg update -q -C 2
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   322
  $ hg transplant -q 1 4
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   323
#if windows
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   324
  $ hg status -A large1
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   325
  large1: * (glob)
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   326
#else
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   327
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   328
  large1: No such file or directory
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   329
#endif
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   330
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   331
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   332
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   333
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   334
  $ hg update -q -C 2
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   335
  $ hg transplant -q --merge 1 --merge 4
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   336
#if windows
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   337
  $ hg status -A large1
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   338
  large1: * (glob)
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   339
#else
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   340
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   341
  large1: No such file or directory
23058
6099b518643c tests: add "(glob)" for l10n messages in test-largefiles-update.t for Windows
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22590
diff changeset
   342
#endif
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   343
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   344
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   345
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   346
22195
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   347
Test that linear merge can detect modification (and conflict) correctly
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   348
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   349
(linear merge without conflict)
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   350
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   351
  $ echo 'large2 for linear merge (no conflict)' > large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   352
  $ hg update 3 --config debug.dirstate.delaywrite=2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   353
  getting changed largefiles
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   354
  1 largefiles updated, 0 removed
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   355
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   356
  $ hg status -A large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   357
  M large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   358
  $ cat large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   359
  large2 for linear merge (no conflict)
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   360
  $ cat .hglf/large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   361
  9c4bf8f1b33536d6e5f89447e10620cfe52ea710
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   362
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   363
(linear merge with conflict, choosing "other")
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   364
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   365
  $ hg update -q -C 2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   366
  $ echo 'large1 for linear merge (conflict)' > large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   367
  $ hg update 3 --config ui.interactive=True <<EOF
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   368
  > o
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   369
  > EOF
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   370
  largefile large1 has a merge conflict
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   371
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   372
  keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   373
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? o
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   374
  getting changed largefiles
22195
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   375
  1 largefiles updated, 0 removed
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   376
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   377
  $ hg status -A large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   378
  C large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   379
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   380
  large1 in #3
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   381
  $ cat .hglf/large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   382
  e5bb990443d6a92aaf7223813720f7566c9dd05b
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   383
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   384
(linear merge with conflict, choosing "local")
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   385
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   386
  $ hg update -q -C 2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   387
  $ echo 'large1 for linear merge (conflict)' > large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   388
  $ hg update 3 --config debug.dirstate.delaywrite=2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   389
  largefile large1 has a merge conflict
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   390
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   391
  keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   392
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   393
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   394
  $ hg status -A large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   395
  M large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   396
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   397
  large1 for linear merge (conflict)
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   398
  $ cat .hglf/large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   399
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   400
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   401
Test a linear merge to a revision containing same-name normal file
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   402
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   403
  $ hg update -q -C 3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   404
  $ hg remove large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   405
  $ echo 'large2 as normal file' > large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   406
  $ hg add large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   407
  $ echo 'large3 as normal file' > large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   408
  $ hg add large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   409
  $ hg commit -m '#5'
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   410
  $ hg manifest
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   411
  .hglf/large1
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   412
  large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   413
  large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   414
  normal1
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   415
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   416
(modified largefile is already switched to normal)
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   417
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   418
  $ hg update -q -C 2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   419
  $ echo 'modified large2 for linear merge' > large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   420
  $ hg update -q 5
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   421
  remote turned local largefile large2 into a normal file
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   422
  keep (l)argefile or use (n)ormal file? l
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   423
  $ hg debugdirstate --nodates | grep large2
23840
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
   424
  a   0         -1 unset               .hglf/large2
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
   425
  r   0          0 set                 large2
22197
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   426
  $ hg status -A large2
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   427
  A large2
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   428
  $ cat large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   429
  modified large2 for linear merge
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   430
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   431
(added largefile is already committed as normal)
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   432
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   433
  $ hg update -q -C 2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   434
  $ echo 'large3 as large file for linear merge' > large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   435
  $ hg add --large large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   436
  $ hg update -q 5
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   437
  remote turned local largefile large3 into a normal file
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   438
  keep (l)argefile or use (n)ormal file? l
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   439
  $ hg debugdirstate --nodates | grep large3
23840
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
   440
  a   0         -1 unset               .hglf/large3
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 23835
diff changeset
   441
  r   0          0 set                 large3
22197
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   442
  $ hg status -A large3
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   443
  A large3
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   444
  $ cat large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   445
  large3 as large file for linear merge
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   446
  $ rm -f large3 .hglf/large3
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   447
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   448
Test that the internal linear merging works correctly
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   449
(both heads are stripped to keep pairing of revision number and commit log)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   450
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   451
  $ hg update -q -C 2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   452
  $ hg strip 3 4
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   453
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/9530e27857f7-2e7b195d-backup.hg (glob)
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   454
  $ mv .hg/strip-backup/9530e27857f7-2e7b195d-backup.hg $TESTTMP
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   455
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   456
(internal linear merging at "hg pull --update")
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   457
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   458
  $ echo 'large1 for linear merge (conflict)' > large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   459
  $ echo 'large2 for linear merge (conflict with normal file)' > large2
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   460
  $ hg pull --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-2e7b195d-backup.hg
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   461
  pulling from $TESTTMP/9530e27857f7-2e7b195d-backup.hg (glob)
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   462
  searching for changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   463
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   464
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   465
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   466
  added 3 changesets with 5 changes to 5 files
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   467
  remote turned local largefile large2 into a normal file
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   468
  keep (l)argefile or use (n)ormal file? l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   469
  largefile large1 has a merge conflict
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   470
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   471
  keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   472
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   473
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
28030
ca2a0a654f54 update: warn about other topological head in pull and unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28029
diff changeset
   474
  1 other heads for branch "default"
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   475
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   476
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   477
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   478
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   479
  large1 for linear merge (conflict)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   480
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   481
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   482
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   483
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   484
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   485
  large2 for linear merge (conflict with normal file)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   486
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   487
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   488
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   489
(internal linear merging at "hg unbundle --update")
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   490
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   491
  $ hg update -q -C 2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   492
  $ hg rollback -q
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   493
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   494
  $ echo 'large1 for linear merge (conflict)' > large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   495
  $ echo 'large2 for linear merge (conflict with normal file)' > large2
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   496
  $ hg unbundle --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-2e7b195d-backup.hg
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   497
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   498
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   499
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   500
  added 3 changesets with 5 changes to 5 files
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   501
  remote turned local largefile large2 into a normal file
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   502
  keep (l)argefile or use (n)ormal file? l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   503
  largefile large1 has a merge conflict
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   504
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   505
  keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   506
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   507
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
28030
ca2a0a654f54 update: warn about other topological head in pull and unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28029
diff changeset
   508
  1 other heads for branch "default"
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   509
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   510
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   511
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   512
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   513
  large1 for linear merge (conflict)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   514
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   515
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   516
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   517
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   518
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   519
  large2 for linear merge (conflict with normal file)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   520
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   521
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   522
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   523
(internal linear merging in subrepo at "hg update")
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   524
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   525
  $ cd ..
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   526
  $ hg init subparent
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   527
  $ cd subparent
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   528
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   529
  $ hg clone -q -u 2 ../repo sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   530
  $ cat > .hgsub <<EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   531
  > sub = sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   532
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   533
  $ hg add .hgsub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   534
  $ hg commit -m '#0@parent'
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   535
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   536
  f74e50bd9e5594b7cf1e6c5cbab86ddd25f3ca2f sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   537
  $ hg -R sub update -q
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   538
  $ hg commit -m '#1@parent'
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   539
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   540
  d65e59e952a9638e2ce863b41a420ca723dd3e8d sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   541
  $ hg update -q 0
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   542
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   543
  $ echo 'large1 for linear merge (conflict)' > sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   544
  $ echo 'large2 for linear merge (conflict with normal file)' > sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   545
  $ hg update --config ui.interactive=True --config debug.dirstate.delaywrite=2 <<EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   546
  > m
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   547
  > r
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   548
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   549
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   550
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   551
   subrepository sub diverged (local revision: f74e50bd9e55, remote revision: d65e59e952a9)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 29786
diff changeset
   552
  (M)erge, keep (l)ocal [working copy] or keep (r)emote [destination]? m
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   553
   subrepository sources for sub differ (in checked out version)
22590
d4c972b97fee subrepo: remove superfluous newline from subrepo prompt
Mads Kiilerich <madski@unity3d.com>
parents: 22589
diff changeset
   554
  use (l)ocal source (f74e50bd9e55) or (r)emote source (d65e59e952a9)? r
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   555
  remote turned local largefile large2 into a normal file
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   556
  keep (l)argefile or use (n)ormal file? l
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   557
  largefile large1 has a merge conflict
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   558
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   559
  keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   560
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   561
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   562
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   563
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   564
  $ hg -R sub status -A sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   565
  M sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   566
  $ cat sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   567
  large1 for linear merge (conflict)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   568
  $ cat sub/.hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   569
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   570
  $ hg -R sub status -A sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   571
  A sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   572
  $ cat sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   573
  large2 for linear merge (conflict with normal file)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   574
  $ cat sub/.hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   575
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   576
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   577
  $ cd ..
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   578
  $ cd repo
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   579
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   580
Test that rebase updates largefiles in the working directory even if
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   581
it is aborted by conflict.
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   582
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   583
  $ hg update -q -C 3
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   584
  $ cat .hglf/large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   585
  e5bb990443d6a92aaf7223813720f7566c9dd05b
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   586
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   587
  large1 in #3
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   588
  $ hg rebase -s 1 -d 3 --keep --config ui.interactive=True <<EOF
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   589
  > o
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   590
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   591
  rebasing 1:72518492caa6 "#1"
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   592
  largefile large1 has a merge conflict
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   593
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   594
  keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
22589
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   595
  take (o)ther 58e24f733a964da346e2407a2bee99d9001184f5? o
9ab18a912c44 ui: show prompt choice if input is not a tty but is forced to be interactive
Mads Kiilerich <madski@unity3d.com>
parents: 22289
diff changeset
   596
  merging normal1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25812
diff changeset
   597
  warning: conflicts while merging normal1! (edit, then use 'hg resolve --mark')
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   598
  unresolved conflicts (see hg resolve, then hg rebase --continue)
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   599
  [1]
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   600
  $ cat .hglf/large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   601
  58e24f733a964da346e2407a2bee99d9001184f5
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   602
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   603
  large1 in #1
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   604
  $ rm normal1.orig
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   605
23187
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   606
Test that rebase updates standins for manually modified largefiles at
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   607
the 1st commit of resuming.
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   608
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   609
  $ echo "manually modified before 'hg rebase --continue'" > large1
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   610
  $ hg resolve -m normal1
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   611
  (no more unresolved files)
27626
157675d0f600 rebase: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27163
diff changeset
   612
  continue: hg rebase --continue
23187
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   613
  $ hg rebase --continue --config ui.interactive=True <<EOF
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   614
  > c
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   615
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   616
  rebasing 1:72518492caa6 "#1"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   617
  rebasing 4:07d6153b5c04 "#4"
29786
978b907d9b36 merge: always use other, not remote, in user prompts
Simon Farnsworth <simonfar@fb.com>
parents: 29785
diff changeset
   618
  local [dest] changed .hglf/large1 which other [source] deleted
27163
27b89a0957ec filemerge: add a 'leave unresolved' option to change/delete prompts
Siddharth Agarwal <sid0@fb.com>
parents: 26627
diff changeset
   619
  use (c)hanged version, (d)elete, or leave (u)nresolved? c
23187
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   620
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   621
  $ hg diff -c "tip~1" --nodates .hglf/large1 | grep '^[+-][0-9a-z]'
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   622
  -e5bb990443d6a92aaf7223813720f7566c9dd05b
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   623
  +8a4f783556e7dea21139ca0466eafce954c75c13
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   624
  $ rm -f large1
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   625
  $ hg update -q -C tip
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   626
  $ cat large1
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   627
  manually modified before 'hg rebase --continue'
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   628
22289
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   629
Test that transplant updates largefiles, of which standins are safely
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   630
changed, even if it is aborted by conflict of other.
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   631
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   632
  $ hg update -q -C 5
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   633
  $ cat .hglf/large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   634
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   635
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   636
  large1 in #3
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   637
  $ hg diff -c 4 .hglf/largeX | grep '^[+-][0-9a-z]'
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   638
  +fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   639
  $ hg transplant 4
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   640
  applying 07d6153b5c04
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   641
  patching file .hglf/large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   642
  Hunk #1 FAILED at 0
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   643
  1 out of 1 hunks FAILED -- saving rejects to file .hglf/large1.rej
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   644
  patch failed to apply
27676
1c48f348f2d0 transplant: correct language to use working directory
timeless <timeless@mozdev.org>
parents: 27626
diff changeset
   645
  abort: fix up the working directory and run hg transplant --continue
22289
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   646
  [255]
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   647
  $ hg status -A large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   648
  C large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   649
  $ cat .hglf/large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   650
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   651
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   652
  large1 in #3
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   653
  $ hg status -A largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   654
  A largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   655
  $ cat .hglf/largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   656
  fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   657
  $ cat largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   658
  largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   659
23274
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   660
Test that transplant updates standins for manually modified largefiles
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   661
at the 1st commit of resuming.
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   662
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   663
  $ echo "manually modified before 'hg transplant --continue'" > large1
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   664
  $ hg transplant --continue
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   665
  07d6153b5c04 transplanted as f1bf30eb88cc
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   666
  $ hg diff -c tip .hglf/large1 | grep '^[+-][0-9a-z]'
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   667
  -e5bb990443d6a92aaf7223813720f7566c9dd05b
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   668
  +6a4f36d4075fbe0f30ec1d26ca44e63c05903671
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   669
  $ rm -f large1
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   670
  $ hg update -q -C tip
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   671
  $ cat large1
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   672
  manually modified before 'hg transplant --continue'
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   673
23089
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   674
Test that "hg status" doesn't show removal of largefiles not managed
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   675
in the target context.
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   676
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   677
  $ hg update -q -C 4
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   678
  $ hg remove largeX
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   679
  $ hg status -A largeX
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   680
  R largeX
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   681
  $ hg status -A --rev '.^1' largeX
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   682
23090
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   683
#if execbit
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   684
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   685
Test that "hg status" against revisions other than parent notices exec
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   686
bit changes of largefiles.
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   687
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   688
  $ hg update -q -C 4
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   689
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   690
(the case that large2 doesn't have exec bit in the target context but
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   691
in the working context)
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   692
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   693
  $ chmod +x large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   694
  $ hg status -A --rev 0 large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   695
  M large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   696
  $ hg commit -m 'chmod +x large2'
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   697
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   698
(the case that large2 has exec bit in the target context but not in
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   699
the working context)
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   700
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   701
  $ echo dummy > dummy
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   702
  $ hg add dummy
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   703
  $ hg commit -m 'revision for separation'
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   704
  $ chmod -x large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   705
  $ hg status -A --rev '.^1' large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   706
  M large2
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   707
23383
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   708
#else
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   709
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   710
Test that "hg status" against revisions other than parent ignores exec
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   711
bit correctly on the platform being unaware of it.
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   712
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   713
  $ hg update -q -C 4
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   714
30239
6e04f4ec4875 tests: put temporary file outside the working directory for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30215
diff changeset
   715
  $ cat > ../exec-bit.patch <<EOF
23383
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   716
  > # HG changeset patch
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   717
  > # User test
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   718
  > # Date 0 0
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   719
  > #      Thu Jan 01 00:00:00 1970 +0000
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   720
  > # Node ID be1b433a65b12b27b5519d92213e14f7e1769b90
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   721
  > # Parent  07d6153b5c04313efb75deec9ba577de7faeb727
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   722
  > chmod +x large2
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   723
  > 
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   724
  > diff --git a/.hglf/large2 b/.hglf/large2
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   725
  > old mode 100644
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   726
  > new mode 100755
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   727
  > EOF
30239
6e04f4ec4875 tests: put temporary file outside the working directory for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30215
diff changeset
   728
  $ hg import --exact --bypass ../exec-bit.patch
6e04f4ec4875 tests: put temporary file outside the working directory for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30215
diff changeset
   729
  applying ../exec-bit.patch
23383
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   730
  $ hg status -A --rev tip large2
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   731
  C large2
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   732
23090
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   733
#endif
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   734
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   735
Test a fatal error interrupting an update. Verify that status report dirty
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   736
files correctly after an interrupted update. Also verify that checking all
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   737
hashes reveals it isn't clean.
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   738
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   739
Start with clean dirstates:
30858
2d6b86cadc10 tests: correct (I think) command in test-largefiles-update
Augie Fackler <augie@google.com>
parents: 30857
diff changeset
   740
  $ hg up --quiet --clean --rev "8^"
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   741
  $ sleep 1
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   742
  $ hg st
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   743
Update standins without updating largefiles - large1 is modified and largeX is
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   744
added:
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   745
  $ cat << EOF > ../crashupdatelfiles.py
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   746
  > import hgext.largefiles.lfutil
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   747
  > def getlfilestoupdate(oldstandins, newstandins):
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   748
  >      raise SystemExit(7)
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   749
  > hgext.largefiles.lfutil.getlfilestoupdate = getlfilestoupdate
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   750
  > EOF
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   751
  $ hg up -Cr "8" --config extensions.crashupdatelfiles=../crashupdatelfiles.py
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   752
  [7]
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   753
Check large1 content and status ... and that update will undo modifications:
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   754
  $ cat large1
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   755
  large1 in #3
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   756
  $ hg st
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   757
  M large1
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   758
  ! largeX
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   759
  $ hg up -Cr .
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   760
  getting changed largefiles
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   761
  2 largefiles updated, 0 removed
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   762
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   763
  $ cat large1
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   764
  manually modified before 'hg transplant --continue'
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   765
  $ hg st
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   766
Force largefiles rehashing and check that all changes have been caught by
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   767
status and update:
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   768
  $ rm .hg/largefiles/dirstate
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   769
  $ hg st
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   770
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   771
  $ cd ..
23276
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   772
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   773
Test that "hg convert" avoids copying largefiles from the working
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   774
directory into store, because "hg convert" doesn't update largefiles
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   775
in the working directory (removing files under ".cache/largefiles"
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   776
forces "hg convert" to copy corresponding largefiles)
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   777
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   778
  $ cat >> $HGRCPATH <<EOF
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   779
  > [extensions]
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   780
  > convert =
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   781
  > EOF
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   782
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   783
  $ rm $TESTTMP/.cache/largefiles/6a4f36d4075fbe0f30ec1d26ca44e63c05903671
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   784
  $ hg convert -q repo repo.converted