Mercurial > hg
annotate tests/test-largefiles-update.t @ 22196:23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
Before this patch, linear merging of modified or newly added largefile
causes unexpected result, if (1) largefile collides with same name
normal one in the target revision and (2) "local" largefile is chosen,
even though branch merging between such revisions doesn't.
Expected result of such linear merging is:
(1) (not yet recorded) largefile is kept in the working directory
(2) largefile is marked as (re-)"added"
(3) colliding normal file is marked as "removed"
But actual result is:
(1) largefile in the working directory is unlinked
(2) largefile is marked as "normal" (so treated as "missing")
(3) the dirstate entry for colliding normal file is just dropped
(1) is very serious, because there is no way to restore temporarily
modified largefiles.
(3) prevents the next commit from adding the manifest with correct
"removal of (normal) file" information for newly created changeset.
The root cause of this problem is putting "lfile" into "actions['r']"
in linear-merging case. At liner merging, "actions['r']" causes:
- unlinking "target file" in the working directory, but "lfile" as
"target file" is also largefile itself in this case
- dropping the dirstate entry for target file
"actions['f']" (= "forget") does only the latter, and this is reason
why this patch doesn't choose putting "lfile" into it instead of
"actions['r']".
This patch newly introduces action "lfmr" (LargeFiles: Mark as
Removed) to mark colliding normal file as "removed" without unlinking
it.
This patch uses "hg debugdirstate" instead of "hg status" in test,
because:
- choosing "local largefile" hides "removed" status of "remote
normal file" in "hg status" output, and
- "hg status" for "large2" in this case has another problem fixed in
the subsequent patch
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Fri, 15 Aug 2014 20:28:51 +0900 |
parents | 1dad76c0afb7 |
children | f72d73937853 |
rev | line source |
---|---|
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 |
21a2f31f054d
largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
39 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
|
40 (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
|
41 getting changed largefiles |
21a2f31f054d
largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
42 1 largefiles updated, 0 removed |
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') |
8ecbe55fd09d
largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21932
diff
changeset
|
70 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
|
71 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
|
72 getting changed largefiles |
8ecbe55fd09d
largefiles: invoke "normallookup" on "lfdirstate" for merged files
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21932
diff
changeset
|
73 1 largefiles updated, 0 removed |
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 |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
106 $ hg forget large2 |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
107 $ 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
|
108 $ hg add --large largeX |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
109 $ 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
|
110 $ echo largeY > largeY |
7d1eac06ab2b
largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22096
diff
changeset
|
111 $ 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
|
112 $ 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
|
113 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
|
114 $ 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
|
115 ? large2 |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
116 $ 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
|
117 C largeX |
22097
7d1eac06ab2b
largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22096
diff
changeset
|
118 $ 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
|
119 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
|
120 $ 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
|
121 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
|
122 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
|
123 $ 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
|
124 R large1 |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
125 $ 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
|
126 R large2 |
61e526585b20
largefiles: restore R status of removed largefiles correctly at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
21934
diff
changeset
|
127 $ 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
|
128 A largeX |
22097
7d1eac06ab2b
largefiles: drop orphan entries from lfdristat at "hg rollback"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22096
diff
changeset
|
129 $ 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
|
130 ? 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
|
131 |
22098
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
132 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
|
133 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
|
134 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
135 $ cat >> .hg/hgrc <<EOF |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
136 > [extensions] |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
137 > rebase = |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
138 > strip = |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
139 > transplant = |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
140 > EOF |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
141 $ 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
|
142 $ hg remove large1 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
143 $ echo largeX > largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
144 $ hg add --large largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
145 $ hg commit -m '#4' |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
146 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
147 $ 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
|
148 $ hg status -A large1 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
149 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
|
150 $ hg status -A largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
151 C largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
152 $ hg strip -q 5 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
153 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
154 $ 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
|
155 $ 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
|
156 $ hg status -A large1 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
157 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
|
158 $ hg status -A largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
159 C largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
160 $ hg strip -q 5 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
161 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
162 $ 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
|
163 $ 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
|
164 $ hg status -A large1 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
165 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
|
166 $ hg status -A largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
167 C largeX |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
168 $ hg strip -q 5 |
2fb3c1c0b4ef
largefiles: synchronize lfdirstate with dirstate after automated committing
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22097
diff
changeset
|
169 |
22195
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
170 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
|
171 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
172 (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
|
173 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
174 $ 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
|
175 $ 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
|
176 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
|
177 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
|
178 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
|
179 $ 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
|
180 M large2 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
181 $ cat large2 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
182 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
|
183 $ 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
|
184 9c4bf8f1b33536d6e5f89447e10620cfe52ea710 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
185 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
186 (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
|
187 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
188 $ 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
|
189 $ 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
|
190 $ 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
|
191 > o |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
192 > EOF |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
193 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
|
194 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
|
195 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
|
196 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
|
197 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
|
198 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
|
199 $ 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
|
200 C large1 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
201 $ cat large1 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
202 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
|
203 $ 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
|
204 e5bb990443d6a92aaf7223813720f7566c9dd05b |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
205 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
206 (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
|
207 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
208 $ 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
|
209 $ 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
|
210 $ 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
|
211 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
|
212 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
|
213 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
|
214 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
|
215 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
|
216 $ 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
|
217 M large1 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
218 $ cat large1 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
219 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
|
220 $ 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
|
221 ba94c2efe5b7c5e0af8d189295ce00553b0612b7 |
1dad76c0afb7
largefiles: add test for large/normal conflict at linear merging
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22098
diff
changeset
|
222 |
22196
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
223 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
|
224 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
225 $ 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
|
226 $ 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
|
227 $ 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
|
228 $ 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
|
229 $ 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
|
230 $ 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
|
231 $ 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
|
232 $ 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
|
233 .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
|
234 large2 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
235 large3 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
236 normal1 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
237 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
238 (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
|
239 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
240 $ 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
|
241 $ 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
|
242 $ 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
|
243 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
|
244 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
|
245 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
|
246 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
|
247 $ 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
|
248 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
|
249 r 0 0 large2 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
250 $ 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
|
251 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
|
252 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
253 (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
|
254 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
255 $ 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
|
256 $ 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
|
257 $ 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
|
258 $ 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
|
259 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
|
260 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
|
261 $ 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
|
262 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
|
263 r 0 0 large3 |
23fe278bde43
largefiles: keep largefiles from colliding with normal one during linear merge
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
22195
diff
changeset
|
264 $ 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
|
265 large3 as large file 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
|
266 |
21932
21a2f31f054d
largefiles: use "normallookup", if "mtime" of standin is unset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
267 $ cd .. |