tests/test-largefiles-update.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sun, 24 Aug 2014 23:47:26 +0900
changeset 22289 e26df4e774f6
parent 22288 4e2559841d6c
child 22589 9ab18a912c44
permissions -rw-r--r--
largefiles: update largefiles even if transplant is aborted by conflict Before this patch, largefiles in the working directory aren't updated correctly, if transplant is aborted by conflict. This prevents users from viewing appropriate largefiles while resolving conflicts. While transplant, largefiles in the working directory are updated only at successful committing in the special code path of "lfilesrepo.commit()". To update largefiles even if transplant is aborted by conflict, this patch wraps "scmutil.marktouched", which is invoked from "patch.patch" with "files" list of added/modified/deleted files. This patch invokes "updatelfiles" with: - "printmessage=False", to suppress "getting changed largefiles ..." messages while automated committing by transplant - "normallookup=True", because "patch.patch" doesn't update dirstate for modified files in such case, "normallookup=False" may cause marking modified largefiles as "clean" unexpectedly
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 =
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
     9
  > EOF
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    10
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    11
  $ hg init repo
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    12
  $ cd repo
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
  $ echo large1 > large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    15
  $ echo large2 > large2
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    16
  $ 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
    17
  $ echo normal1 > normal1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    18
  $ hg add normal1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    19
  $ hg commit -m '#0'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    20
  $ 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
    21
  $ 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
    22
  $ hg commit -m '#1'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    23
  $ 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
    24
  $ 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
    25
  $ hg commit -m '#2'
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    26
  created new head
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    27
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    28
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
    29
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    30
(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
    31
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    32
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    33
  C large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    34
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    35
  large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    36
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    37
  4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    38
  $ 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
    39
  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
    40
  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
    41
  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
    42
  (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
    43
  $ hg status -A large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    44
  M large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    45
  $ cat large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    46
  large1 in #1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    47
  $ cat .hglf/large1
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    48
  58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    49
  $ 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
    50
  -4669e532d5b2c093a78eca010077e708a071bb64
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    51
  +58e24f733a964da346e2407a2bee99d9001184f5
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
    52
21933
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    53
(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
    54
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    55
  $ 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
    56
  $ 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
    57
  $ 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
    58
  $ hg commit -m '#3'
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    59
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    60
  e5bb990443d6a92aaf7223813720f7566c9dd05b
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    61
  $ 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
    62
  > o
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    63
  > EOF
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    64
  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
    65
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    66
  keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    67
  take (o)ther 58e24f733a964da346e2407a2bee99d9001184f5? merging normal1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    68
  warning: conflicts during merge.
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    69
  merging normal1 incomplete! (edit conflicts, 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
    70
  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
    71
  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
    72
  0 files updated, 1 files merged, 0 files removed, 1 files unresolved
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    73
  use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    74
  [1]
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    75
  $ hg status -A large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    76
  M large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    77
  $ cat large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    78
  large1 in #1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    79
  $ cat .hglf/large1
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    80
  58e24f733a964da346e2407a2bee99d9001184f5
8ecbe55fd09d largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21932
diff changeset
    81
21934
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    82
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
    83
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    84
  $ hg update -q -C 3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    85
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    86
  C large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    87
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    88
  large1 in #3
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    89
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    90
  e5bb990443d6a92aaf7223813720f7566c9dd05b
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    91
  $ 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
    92
  -4669e532d5b2c093a78eca010077e708a071bb64
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    93
  +58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    94
  $ 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
    95
  $ hg status -A large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    96
  M large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    97
  $ cat large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    98
  large1 in #1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
    99
  $ cat .hglf/large1
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   100
  58e24f733a964da346e2407a2bee99d9001184f5
0cb34b3991f8 largefiles: use "normallookup" on "lfdirstate" while reverting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21933
diff changeset
   101
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   102
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
   103
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   104
  $ 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
   105
  $ hg remove large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   106
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   107
  [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
   108
  $ hg forget large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   109
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   110
  [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
   111
  $ 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
   112
  $ hg add --large largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   113
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   114
  
22096
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   115
  $ 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
   116
  $ echo largeY > largeY
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   117
  $ hg add --large 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
   118
  $ 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
   119
  large1: No such file or directory
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   120
  $ 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
   121
  ? large2
61e526585b20 largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21934
diff changeset
   122
  $ 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
   123
  C largeX
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   124
  $ 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
   125
  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
   126
  $ 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
   127
  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
   128
  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
   129
  $ 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
   130
  R large1
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   131
  $ test -f .hglf/large1
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   132
  [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
   133
  $ 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
   134
  R large2
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   135
  $ test -f .hglf/large2
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   136
  [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
   137
  $ 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
   138
  A largeX
22285
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   139
  $ cat .hglf/largeX
85bded43cc80 largefiles: restore standins according to restored dirstate
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22284
diff changeset
   140
  
22097
7d1eac06ab2b largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22096
diff changeset
   141
  $ 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
   142
  ? 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
   143
  $ 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
   144
  [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
   145
22283
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   146
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
   147
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   148
  $ 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
   149
  $ 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
   150
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   151
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   152
  $ 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
   153
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   154
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   155
  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
   156
  $ 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
   157
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   158
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   159
  $ 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
   160
  $ cat large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   161
  large1
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   162
  $ 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
   163
  4669e532d5b2c093a78eca010077e708a071bb64
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   164
  $ cat large2
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   165
  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
   166
  $ 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
   167
  3cfce6277e7668985707b6887ce56f9f62f6ccd9
cb556ea76dcd largefiles: omit restoring standins if working parent is not rollbacked
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22197
diff changeset
   168
22284
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   169
(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
   170
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
   171
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   172
  $ 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
   173
  $ 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
   174
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   175
  $ 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
   176
  1deebade43c8c498a3c8daddac0244dc55d1331d
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   177
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   178
  $ 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
   179
  $ 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
   180
  $ 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
   181
  $ 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
   182
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   183
  $ 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
   184
  58e24f733a964da346e2407a2bee99d9001184f5
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   185
  $ 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
   186
  1deebade43c8c498a3c8daddac0244dc55d1331d
72b378658cff largefiles: restore standins from non branch-tip parent at rollback correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22283
diff changeset
   187
22098
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   188
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
   189
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
   190
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   191
  $ cat >> .hg/hgrc <<EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   192
  > [extensions]
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   193
  > rebase =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   194
  > strip =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   195
  > transplant =
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   196
  > EOF
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   197
  $ 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
   198
  $ hg remove large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   199
  $ echo largeX > largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   200
  $ hg add --large largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   201
  $ hg commit -m '#4'
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   202
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   203
  $ hg rebase -s 1 -d 2 --keep
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   204
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   205
  large1: No such file or directory
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   206
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   207
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   208
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   209
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   210
  $ 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
   211
  $ hg transplant -q 1 4
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   212
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   213
  large1: No such file or directory
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   214
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   215
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   216
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   217
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   218
  $ 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
   219
  $ hg transplant -q --merge 1 --merge 4
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   220
  $ hg status -A large1
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   221
  large1: No such file or directory
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   222
  $ hg status -A largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   223
  C largeX
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   224
  $ hg strip -q 5
2fb3c1c0b4ef largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22097
diff changeset
   225
22195
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   226
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
   227
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   228
(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
   229
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   230
  $ 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
   231
  $ 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
   232
  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
   233
  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
   234
  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
   235
  $ 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
   236
  M large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   237
  $ cat large2
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   238
  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
   239
  $ 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
   240
  9c4bf8f1b33536d6e5f89447e10620cfe52ea710
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   241
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   242
(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
   243
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   244
  $ 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
   245
  $ 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
   246
  $ 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
   247
  > o
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   248
  > EOF
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   249
  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
   250
  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
   251
  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
   252
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? 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
   253
  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
   254
  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
   255
  $ 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
   256
  C large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   257
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   258
  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
   259
  $ 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
   260
  e5bb990443d6a92aaf7223813720f7566c9dd05b
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   261
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   262
(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
   263
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   264
  $ 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
   265
  $ 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
   266
  $ 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
   267
  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
   268
  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
   269
  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
   270
  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
   271
  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
   272
  $ 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
   273
  M large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   274
  $ cat large1
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   275
  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
   276
  $ 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
   277
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
1dad76c0afb7 largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22098
diff changeset
   278
22196
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   279
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
   280
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   281
  $ 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
   282
  $ 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
   283
  $ 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
   284
  $ 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
   285
  $ 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
   286
  $ 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
   287
  $ 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
   288
  $ 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
   289
  .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
   290
  large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   291
  large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   292
  normal1
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   293
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   294
(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
   295
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   296
  $ 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
   297
  $ 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
   298
  $ 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
   299
  local changed .hglf/large2 which remote deleted
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   300
  use (c)hanged version or (d)elete? c
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   301
  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
   302
  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
   303
  $ hg debugdirstate --nodates | grep large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   304
  a   0         -1 .hglf/large2
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   305
  r   0          0 large2
22197
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   306
  $ 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
   307
  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
   308
  $ 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
   309
  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
   310
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   311
(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
   312
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   313
  $ 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
   314
  $ 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
   315
  $ 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
   316
  $ 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
   317
  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
   318
  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
   319
  $ hg debugdirstate --nodates | grep large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   320
  a   0         -1 .hglf/large3
23fe278bde43 largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22195
diff changeset
   321
  r   0          0 large3
22197
f72d73937853 largefiles: update lfdirstate for unchanged largefiles during linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22196
diff changeset
   322
  $ 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
   323
  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
   324
  $ 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
   325
  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
   326
  $ 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
   327
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   328
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
   329
(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
   330
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   331
  $ 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
   332
  $ hg strip 3 4
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   333
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/9530e27857f7-backup.hg (glob)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   334
  $ mv .hg/strip-backup/9530e27857f7-backup.hg $TESTTMP
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   335
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   336
(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
   337
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   338
  $ 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
   339
  $ echo 'large2 for linear merge (conflict with normal file)' > large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   340
  $ hg pull --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-backup.hg
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   341
  pulling from $TESTTMP/9530e27857f7-backup.hg (glob)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   342
  searching for changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   343
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   344
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   345
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   346
  added 3 changesets with 5 changes to 5 files
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   347
  local changed .hglf/large2 which remote deleted
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   348
  use (c)hanged version or (d)elete? c
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   349
  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
   350
  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
   351
  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
   352
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   353
  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
   354
  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
   355
  2 files updated, 1 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
   356
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   357
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   358
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   359
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   360
  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
   361
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   362
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   363
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   364
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   365
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   366
  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
   367
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   368
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   369
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   370
(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
   371
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   372
  $ 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
   373
  $ hg rollback -q
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   374
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   375
  $ 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
   376
  $ echo 'large2 for linear merge (conflict with normal file)' > large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   377
  $ hg unbundle --update --config debug.dirstate.delaywrite=2 $TESTTMP/9530e27857f7-backup.hg
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   378
  adding changesets
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   379
  adding manifests
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   380
  adding file changes
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   381
  added 3 changesets with 5 changes to 5 files
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   382
  local changed .hglf/large2 which remote deleted
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   383
  use (c)hanged version or (d)elete? c
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   384
  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
   385
  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
   386
  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
   387
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   388
  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
   389
  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
   390
  2 files updated, 1 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
   391
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   392
  $ hg status -A large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   393
  M large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   394
  $ cat large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   395
  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
   396
  $ cat .hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   397
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   398
  $ hg status -A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   399
  A large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   400
  $ cat large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   401
  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
   402
  $ cat .hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   403
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   404
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   405
(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
   406
21932
21a2f31f054d largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff changeset
   407
  $ cd ..
22287
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   408
  $ hg init subparent
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   409
  $ cd subparent
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   410
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   411
  $ 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
   412
  $ cat > .hgsub <<EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   413
  > sub = sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   414
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   415
  $ hg add .hgsub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   416
  $ 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
   417
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   418
  f74e50bd9e5594b7cf1e6c5cbab86ddd25f3ca2f sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   419
  $ 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
   420
  $ 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
   421
  $ cat .hgsubstate
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   422
  d65e59e952a9638e2ce863b41a420ca723dd3e8d sub
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   423
  $ hg update -q 0
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   424
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   425
  $ 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
   426
  $ 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
   427
  $ 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
   428
  > m
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   429
  > r
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   430
  > c
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   431
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   432
  > l
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   433
  > EOF
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   434
   subrepository sub diverged (local revision: f74e50bd9e55, remote revision: d65e59e952a9)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   435
  (M)erge, keep (l)ocal or keep (r)emote?  subrepository sources for sub differ (in checked out version)
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   436
  use (l)ocal source (f74e50bd9e55) or (r)emote source (d65e59e952a9)?
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   437
   local changed .hglf/large2 which remote deleted
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   438
  use (c)hanged version or (d)elete? 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
   439
  keep (l)argefile or use (n)ormal file? 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
   440
  ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   441
  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
   442
  take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? 2 files updated, 1 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
   443
  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
   444
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   445
  $ 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
   446
  M sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   447
  $ cat sub/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   448
  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
   449
  $ cat sub/.hglf/large1
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   450
  ba94c2efe5b7c5e0af8d189295ce00553b0612b7
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   451
  $ 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
   452
  A sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   453
  $ cat sub/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   454
  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
   455
  $ cat sub/.hglf/large2
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   456
  d7591fe9be0f6227d90bddf3e4f52ff41fc1f544
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   457
f3ac9677fa2b largefiles: move "updatestandin" invocation to "hg.updaterepo" wrapper
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22286
diff changeset
   458
  $ cd ..
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   459
  $ cd repo
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   460
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   461
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
   462
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
   463
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   464
  $ 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
   465
  $ 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
   466
  e5bb990443d6a92aaf7223813720f7566c9dd05b
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   467
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   468
  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
   469
  $ 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
   470
  > o
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   471
  > EOF
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   472
  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
   473
  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
   474
  keep (l)ocal e5bb990443d6a92aaf7223813720f7566c9dd05b or
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   475
  take (o)ther 58e24f733a964da346e2407a2bee99d9001184f5? merging normal1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   476
  warning: conflicts during merge.
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   477
  merging normal1 incomplete! (edit conflicts, then use 'hg resolve --mark')
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   478
  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
   479
  [1]
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   480
  $ 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
   481
  58e24f733a964da346e2407a2bee99d9001184f5
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   482
  $ cat large1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   483
  large1 in #1
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   484
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   485
  $ hg rebase -q --abort
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   486
  rebase aborted
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   487
22289
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   488
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
   489
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
   490
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   491
  $ 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
   492
  $ 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
   493
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   494
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   495
  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
   496
  $ 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
   497
  +fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   498
  $ 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
   499
  applying 07d6153b5c04
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   500
  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
   501
  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
   502
  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
   503
  patch failed to apply
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   504
  abort: fix up the merge and run hg transplant --continue
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   505
  [255]
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   506
  $ 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
   507
  C large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   508
  $ 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
   509
  e5bb990443d6a92aaf7223813720f7566c9dd05b
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   510
  $ cat large1
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   511
  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
   512
  $ 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
   513
  A largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   514
  $ 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
   515
  fa44618ea25181aff4f48b70428294790cec9f61
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   516
  $ cat largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   517
  largeX
e26df4e774f6 largefiles: update largefiles even if transplant is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22288
diff changeset
   518
22288
4e2559841d6c largefiles: update largefiles even if rebase is aborted by conflict
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 22287
diff changeset
   519
  $ cd ..