tests/test-largefiles-update.t
author Yuya Nishihara <yuya@tcha.org>
Sun, 04 Mar 2018 16:13:46 -0500
changeset 36733 66250de006c6
parent 35816 f6ca1e11d8b4
child 37348 f4e84dfc06fd
permissions -rw-r--r--
py3: do not mutate dict while iterating in tagmerge
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
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30858
diff changeset
    74
  updated to "f74e50bd9e55: #2"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27903
diff changeset
    75
  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
    76
  $ hg debugdirstate --large --nodate
9d25bb84cf6c largefiles: make linear update set unsure largefiles normal if unchanged
Mads Kiilerich <madski@unity3d.com>
parents: 23840
diff changeset
    77
  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
    78
  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
    79
23694
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    80
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
    81
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
    82
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    83
  $ sleep 1
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    84
  $ hg st
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    85
  $ 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
    86
  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
    87
  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
    88
  $ hg up
97eb62b0f4a9 tests: add test coverage for lfdirstate invalidation of linear update
Mads Kiilerich <madski@unity3d.com>
parents: 23383
diff changeset
    89
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30858
diff changeset
    90
  updated to "f74e50bd9e55: #2"
28029
72072cfc7e91 update: warn about other topological heads on bare update
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 27903
diff changeset
    91
  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
    92
  $ 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
    93
  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
    94
  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
    95
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    96
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
    97
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    98
(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
    99
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   100
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   101
  C large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   102
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   103
  large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   104
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   105
  4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   106
  $ 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
   107
  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
   108
  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
   109
  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
   110
  (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
   111
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   112
  M large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   113
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   114
  large1 in #1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   115
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   116
  58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   117
  $ 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
   118
  -4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   119
  +58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   120
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   121
(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
   122
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   123
  $ 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
   124
  $ 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
   125
  $ 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
   126
  $ hg commit -m '#3'
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   127
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   128
  e5bb990443d6a92aaf7223813720f7566c9dd05b
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   129
  $ 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
   130
  > o
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   131
  > EOF
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   132
  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
   133
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   134
  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
   135
  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
   136
  merging normal1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25812
diff changeset
   137
  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
   138
  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
   139
  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
   140
  0 files updated, 1 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35393
diff changeset
   141
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   142
  [1]
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   143
  $ hg status -A large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   144
  M large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   145
  $ cat large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   146
  large1 in #1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   147
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   148
  58e24f733a964da346e2407a2bee99d9001184f5
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   149
  $ rm normal1.orig
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
   150
26627
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   151
(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
   152
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
   153
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
   154
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   155
  $ 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
   156
  $ 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
   157
  $ 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
   158
  > o
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   159
  > EOF
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   160
  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
   161
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   162
  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
   163
  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
   164
  getting changed largefiles
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   165
  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
   166
  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
   167
  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
   168
  (branch merge, don't forget to commit)
27903
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   169
  $ 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
   170
  large1: largefile 58e24f733a964da346e2407a2bee99d9001184f5 not available from local store
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   171
  $ hg up -C . --config largefiles.usercache=not
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   172
  getting changed largefiles
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   173
  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
   174
  0 largefiles updated, 0 removed
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   175
  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
   176
  $ hg st large1
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   177
  ! large1
26627
832c98d79587 largefiles: better handling of merge of largefiles that not are available
Mads Kiilerich <madski@unity3d.com>
parents: 26614
diff changeset
   178
  $ hg rollback -q
27903
512a814c5595 largefiles: fix commit of missing largefiles
Mads Kiilerich <madski@unity3d.com>
parents: 27789
diff changeset
   179
  $ 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
   180
21934
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   181
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
   182
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   183
  $ hg update -q -C 3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   184
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   185
  C large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   186
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   187
  large1 in #3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   188
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   189
  e5bb990443d6a92aaf7223813720f7566c9dd05b
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   190
  $ 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
   191
  -4669e532d5b2c093a78eca010077e708a071bb64
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   192
  +58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   193
  $ 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
   194
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   195
  M large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   196
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   197
  large1 in #1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   198
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   199
  58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   200
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   201
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
   202
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   203
  $ 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
   204
  $ hg remove large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   205
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   206
  [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
   207
  $ hg forget large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   208
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   209
  [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
   210
  $ 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
   211
  $ hg add --large largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   212
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   213
  
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   214
  $ 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
   215
  $ echo largeY > largeY
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   216
  $ hg add --large largeY
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   217
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
   218
  $ hg status -A large1
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   219
  large1: $ENOENT$
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   220
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   221
  $ 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
   222
  ? 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
  $ 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
   224
  C largeX
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   225
  $ 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
   226
  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
   227
  $ 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
   228
  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
   229
  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
   230
  $ 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
   231
  R large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   232
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   233
  [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
   234
  $ 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
   235
  R large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   236
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   237
  [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
   238
  $ 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
   239
  A largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   240
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   241
  
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   242
  $ 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
   243
  ? 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
   244
  $ 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
   245
  [1]
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   246
  $ 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
   247
22283
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   248
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
   249
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   250
  $ 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
   251
  $ 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
   252
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   253
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   254
  $ 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
   255
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   256
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   257
  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
   258
  $ 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
   259
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   260
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   261
  $ 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
   262
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   263
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   264
  $ 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
   265
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   266
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   267
  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
   268
  $ 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
   269
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   270
22284
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   271
(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
   272
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
   273
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   274
  $ 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
   275
  $ 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
   276
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   277
  $ 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
   278
  1deebade43c8c498a3c8daddac0244dc55d1331d
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   279
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   280
  $ 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
   281
  $ 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
   282
  $ 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
   283
  $ 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
   284
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   285
  $ 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
   286
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   287
  $ 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
   288
  1deebade43c8c498a3c8daddac0244dc55d1331d
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   289
  $ 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
   290
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   291
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
   292
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
   293
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   294
  $ cat >> .hg/hgrc <<EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   295
  > [extensions]
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   296
  > rebase =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   297
  > strip =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   298
  > transplant =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   299
  > EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   300
  $ 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
   301
  $ hg remove large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   302
  $ echo largeX > largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   303
  $ hg add --large largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   304
  $ hg commit -m '#4'
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   305
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   306
  $ 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
   307
  rebasing 1:72518492caa6 "#1"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   308
  rebasing 4:07d6153b5c04 "#4" (tip)
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   309
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
  $ hg status -A large1
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   311
  large1: $ENOENT$
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   312
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   313
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   314
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   315
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   316
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   317
  $ 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
   318
  $ hg transplant -q 1 4
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   319
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
   320
  $ hg status -A large1
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   321
  large1: $ENOENT$
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   322
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   323
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   324
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   325
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   326
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   327
  $ 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
   328
  $ hg transplant -q --merge 1 --merge 4
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   329
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
   330
  $ hg status -A large1
35230
feecfefeba25 tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   331
  large1: $ENOENT$
33344
1e872b08a4e9 test-largefiles-update: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 32698
diff changeset
   332
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   333
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   334
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   335
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   336
22195
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   337
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
   338
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   339
(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
   340
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   341
  $ 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
   342
  $ 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
   343
  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
   344
  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
   345
  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
   346
  $ 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
   347
  M large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   348
  $ cat large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   349
  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
   350
  $ 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
   351
  9c4bf8f1b33536d6e5f89447e10620cfe52ea710
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   352
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   353
(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
   354
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   355
  $ 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
   356
  $ 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
   357
  $ 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
   358
  > o
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   359
  > EOF
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   360
  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
   361
  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
   362
  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
   363
  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
   364
  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
   365
  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
   366
  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
   367
  $ 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
   368
  C large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   369
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   370
  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
   371
  $ 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
   372
  e5bb990443d6a92aaf7223813720f7566c9dd05b
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   373
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   374
(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
   375
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   376
  $ 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
   377
  $ 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
   378
  $ 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
   379
  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
   380
  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
   381
  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
   382
  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
   383
  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
   384
  $ 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
   385
  M large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   386
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   387
  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
   388
  $ 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
   389
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   390
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   391
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
   392
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   393
  $ 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
   394
  $ 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
   395
  $ 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
   396
  $ 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
   397
  $ 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
   398
  $ 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
   399
  $ 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
   400
  $ 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
   401
  .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
   402
  large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   403
  large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   404
  normal1
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   405
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   406
(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
   407
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 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
   409
  $ 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
   410
  $ 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
   411
  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
   412
  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
   413
  $ 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
   414
  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
   415
  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
   416
  $ 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
   417
  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
   418
  $ 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
   419
  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
   420
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   421
(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
   422
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 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
   424
  $ 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
   425
  $ 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
   426
  $ 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
   427
  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
   428
  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
   429
  $ 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
   430
  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
   431
  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
   432
  $ 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
   433
  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
   434
  $ 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
   435
  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
   436
  $ 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
   437
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   438
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
   439
(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
   440
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   441
  $ 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
   442
  $ hg strip 3 4
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   443
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/9530e27857f7-2e7b195d-backup.hg
23835
aa4a1672583e bundles: do not overwrite existing backup bundles (BC)
Durham Goode <durham@fb.com>
parents: 23706
diff changeset
   444
  $ 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
   445
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   446
(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
   447
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   448
  $ 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
   449
  $ 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
   450
  $ hg pull --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-2e7b195d-backup.hg
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35230
diff changeset
   451
  pulling from $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
   452
  searching for changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   453
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   454
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   455
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   456
  added 3 changesets with 5 changes to 5 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33344
diff changeset
   457
  new changesets 9530e27857f7:d65e59e952a9
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   458
  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
   459
  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
   460
  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
   461
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   462
  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
   463
  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
   464
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30858
diff changeset
   465
  updated to "d65e59e952a9: #5"
28030
ca2a0a654f54 update: warn about other topological head in pull and unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28029
diff changeset
   466
  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
   467
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   468
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   469
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   470
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   471
  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
   472
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   473
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   474
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   475
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   476
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   477
  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
   478
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   479
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   480
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   481
(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
   482
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   483
  $ 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
   484
  $ hg rollback -q
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   485
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   486
  $ 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
   487
  $ 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
   488
  $ 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
   489
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   490
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   491
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   492
  added 3 changesets with 5 changes to 5 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33344
diff changeset
   493
  new changesets 9530e27857f7:d65e59e952a9
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   494
  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
   495
  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
   496
  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
   497
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   498
  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
   499
  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
   500
  2 files updated, 1 files merged, 0 files removed, 0 files unresolved
32698
1b5c61d38a52 update: show the commit to which we updated in case of multiple heads (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 30858
diff changeset
   501
  updated to "d65e59e952a9: #5"
28030
ca2a0a654f54 update: warn about other topological head in pull and unbundle
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28029
diff changeset
   502
  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
   503
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   504
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   505
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   506
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   507
  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
   508
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   509
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   510
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   511
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   512
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   513
  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
   514
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   515
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   516
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   517
(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
   518
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   519
  $ cd ..
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   520
  $ hg init subparent
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   521
  $ cd subparent
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
  $ 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
   524
  $ cat > .hgsub <<EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   525
  > sub = sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   526
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   527
  $ hg add .hgsub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   528
  $ 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
   529
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   530
  f74e50bd9e5594b7cf1e6c5cbab86ddd25f3ca2f sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   531
  $ 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
   532
  $ 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
   533
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   534
  d65e59e952a9638e2ce863b41a420ca723dd3e8d sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   535
  $ hg update -q 0
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   536
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   537
  $ 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
   538
  $ 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
   539
  $ 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
   540
  > m
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   541
  > r
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   542
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   543
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   544
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   545
   subrepository sub diverged (local revision: f74e50bd9e55, remote revision: d65e59e952a9)
30060
a145161debed merge: use labels in subrepo merge
Simon Farnsworth <simonfar@fb.com>
parents: 29775
diff changeset
   546
  (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
   547
   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
   548
  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
   549
  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
   550
  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
   551
  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
   552
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   553
  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
   554
  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
   555
  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
   556
  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
   557
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   558
  $ 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
   559
  M sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   560
  $ cat sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   561
  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
   562
  $ cat sub/.hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   563
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
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/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   565
  A sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   566
  $ cat sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   567
  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
   568
  $ cat sub/.hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   569
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   570
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   571
  $ cd ..
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   572
  $ cd repo
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   573
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   574
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
   575
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
   576
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   577
  $ 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
   578
  $ 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
   579
  e5bb990443d6a92aaf7223813720f7566c9dd05b
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   580
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   581
  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
   582
  $ 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
   583
  > o
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   584
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   585
  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
   586
  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
   587
  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
   588
  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
   589
  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
   590
  merging normal1
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25812
diff changeset
   591
  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
   592
  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
   593
  [1]
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   594
  $ 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
   595
  58e24f733a964da346e2407a2bee99d9001184f5
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   596
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   597
  large1 in #1
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   598
  $ 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
   599
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
   600
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
   601
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
   602
f726b05ecfe6 largefiles: update standins only at the 1st commit of "hg rebase --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   603
  $ 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
   604
  $ 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
   605
  (no more unresolved files)
27626
157675d0f600 rebase: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27163
diff changeset
   606
  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
   607
  $ 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
   608
  > 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
   609
  > EOF
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   610
  rebasing 1:72518492caa6 "#1"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23394
diff changeset
   611
  rebasing 4:07d6153b5c04 "#4"
29775
978b907d9b36 merge: always use other, not remote, in user prompts
Simon Farnsworth <simonfar@fb.com>
parents: 29774
diff changeset
   612
  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
   613
  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
   614
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
  $ 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
   616
  -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
   617
  +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
   618
  $ 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
   619
  $ 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
   620
  $ 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
   621
  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
   622
22289
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   623
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
   624
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
   625
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   626
  $ 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
   627
  $ 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
   628
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   629
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   630
  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
   631
  $ 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
   632
  +fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   633
  $ 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
   634
  applying 07d6153b5c04
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   635
  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
   636
  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
   637
  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
   638
  patch failed to apply
27676
1c48f348f2d0 transplant: correct language to use working directory
timeless <timeless@mozdev.org>
parents: 27626
diff changeset
   639
  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
   640
  [255]
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   641
  $ 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
   642
  C large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   643
  $ 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
   644
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   645
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   646
  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
   647
  $ 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
   648
  A largeX
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/largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   650
  fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   651
  $ cat largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   652
  largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   653
23274
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   654
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
   655
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
   656
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   657
  $ 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
   658
  $ 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
   659
  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
   660
  $ 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
   661
  -e5bb990443d6a92aaf7223813720f7566c9dd05b
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   662
  +6a4f36d4075fbe0f30ec1d26ca44e63c05903671
0ec2e124fcc0 largefiles: update standins only at the 1st commit of "transplant --continue"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23187
diff changeset
   663
  $ 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
   664
  $ 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
   665
  $ 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
   666
  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
   667
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
   668
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
   669
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
   670
197dc4580da2 largefiles: ignore removal status of files not managed in the target context
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23058
diff changeset
   671
  $ 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
   672
  $ 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
   673
  $ 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
   674
  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
   675
  $ 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
   676
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
   677
#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
   678
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   679
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
   680
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
   681
24600c9d7f4e largefiles: add examination of exec bit in "hg status --rev REV" case
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23089
diff changeset
   682
  $ 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
   683
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
(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
   685
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
   686
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
  $ 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
   688
  $ 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
   689
  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
   690
  $ 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
   691
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
(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
   693
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
   694
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
  $ 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
   696
  $ 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
   697
  $ 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
   698
  $ 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
   699
  $ 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
   700
  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
   701
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
   702
#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
   703
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   704
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
   705
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
   706
7f8d27e1f862 largefiles: avoid exec-bit examination on the platform being unaware of it
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23090
diff changeset
   707
  $ 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
   708
30239
6e04f4ec4875 tests: put temporary file outside the working directory for test portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 30215
diff changeset
   709
  $ 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
   710
  > # 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
   711
  > # 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
   712
  > # 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
   713
  > #      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
   714
  > # 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
   715
  > # 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
   716
  > 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
   717
  > 
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
  > 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
   719
  > 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
   720
  > 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
   721
  > 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
   722
  $ 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
   723
  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
   724
  $ 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
   725
  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
   726
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
   727
#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
   728
35816
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   729
The fileset revset is evaluated for each revision, instead of once on wdir(),
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   730
and then patterns matched on each revision.  Here, no exec bits are set in
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   731
wdir(), but a matching revision is detected.
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   732
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   733
(Teach large2 is not an executable. Maybe this is a bug of largefiles.)
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   734
#if execbit
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   735
  $ chmod -x .hglf/large2
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   736
#endif
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   737
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   738
  $ hg files 'set:exec()'
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   739
  [1]
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   740
  $ hg log -qr 'file("set:exec()")'
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   741
  9:be1b433a65b1
f6ca1e11d8b4 revset: evaluate filesets against each revision for 'file()' (issue5778)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
   742
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   743
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
   744
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
   745
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
   746
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   747
Start with clean dirstates:
30858
2d6b86cadc10 tests: correct (I think) command in test-largefiles-update
Augie Fackler <augie@google.com>
parents: 30857
diff changeset
   748
  $ 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
   749
  $ sleep 1
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   750
  $ hg st
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   751
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
   752
added:
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   753
  $ cat << EOF > ../crashupdatelfiles.py
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   754
  > import hgext.largefiles.lfutil
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   755
  > def getlfilestoupdate(oldstandins, newstandins):
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   756
  >      raise SystemExit(7)
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   757
  > hgext.largefiles.lfutil.getlfilestoupdate = getlfilestoupdate
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   758
  > EOF
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   759
  $ 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
   760
  [7]
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   761
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
   762
  $ cat large1
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   763
  large1 in #3
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   764
  $ hg st
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   765
  M large1
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   766
  ! largeX
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   767
  $ hg up -Cr .
30190
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   768
  getting changed largefiles
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   769
  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
   770
  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
   771
  $ cat large1
56b930238036 largefiles: more safe handling of interruptions while updating modifications
Mads Kiilerich <madski@unity3d.com>
parents: 30189
diff changeset
   772
  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
   773
  $ hg st
30191
328545c7d8a1 largefiles: fix 'deleted' files sometimes persistently appearing with R status
Mads Kiilerich <madski@unity3d.com>
parents: 30190
diff changeset
   774
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
   775
status and update:
30189
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   776
  $ rm .hg/largefiles/dirstate
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   777
  $ hg st
4999c12c526b largefiles: test coverage of fatal interruption of update
Mads Kiilerich <madski@unity3d.com>
parents: 28052
diff changeset
   778
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   779
  $ cd ..
23276
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   780
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   781
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
   782
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
   783
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
   784
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
   785
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   786
  $ cat >> $HGRCPATH <<EOF
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   787
  > [extensions]
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   788
  > convert =
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   789
  > EOF
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   790
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   791
  $ rm $TESTTMP/.cache/largefiles/6a4f36d4075fbe0f30ec1d26ca44e63c05903671
4be754832829 largefiles: move "copyalltostore" invocation into "markcommitted"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 23274
diff changeset
   792
  $ hg convert -q repo repo.converted