Mercurial > hg
annotate tests/test-pathconflicts-merge.t @ 51871:cfd30df0f8e4
bundlerepo: fix mismatches with repository and revlog classes
Both pytype and PyCharm complained that `write()` and `_write()` in the
bundlephasecache class aren't proper overrides- indeed they seem to be missing
an argument that the base class has.
PyCharm and pytype also complained that the `revlog.revlog` class doesn't have a
`_chunk()` method. That looks like it was moved from revlog to `_InnerRevlog`
back in e8ad6d8de8b8, and wasn't caught because this module wasn't type checked.
However, I couldn't figure out a syntax with `revlog.revlog._inner._chunk(self, rev)`,
as it complained about passing too many args. `bundlerevlog._rawtext()` uses
this `super(...)` style to call the super class, so hopefully that works, even
with the wonky dynamic subclassing. The revlog class needed the `_InnerRevlog`
field typed because it isn't set in the constructor.
Finally, the vfs type hints look broken. This initially failed with:
File "/mnt/c/Users/Matt/hg/mercurial/bundlerepo.py", line 65, in __init__: Function readonlyvfs.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, vfs: mercurial.vfs.vfs)
Actually passed: (self, vfs: Callable)
Called from (traceback):
line 232, in dirlog
line 214, in __init__
I don't see a raw Callable, but I tried changing some of the vfs args to be typed
as `vfsmod.abstractvfs`, but that class doesn't have `options`, so it failed
elsewhere. `readonlyvfs` isn't a subclass of `vfs` (it's a subclass of
`abstractvfs`), so I'm not sure how to handle that. It would be a shame to have
to make a union of vfs subclasses (but not all of them have `options` either).
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 03 Aug 2024 01:33:13 -0400 |
parents | acbfa31cfaf2 |
children |
rev | line source |
---|---|
34942
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
1 Path conflict checking is currently disabled by default because of issue5716. |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
2 Turn it on for this test. |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
3 |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
4 $ cat >> $HGRCPATH << EOF |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
5 > [experimental] |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
6 > merge.checkpathconflicts=True |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
7 > EOF |
2a774cae3a03
merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents:
34571
diff
changeset
|
8 |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
9 $ hg init repo |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
10 $ cd repo |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
11 $ echo base > base |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
12 $ hg add base |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
13 $ hg commit -m "base" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
14 $ hg bookmark -i base |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
15 $ mkdir a |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
16 $ echo 1 > a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
17 $ hg add a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
18 $ hg commit -m "file" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
19 $ hg bookmark -i file |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
20 $ echo 2 > a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
21 $ hg commit -m "file2" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
22 $ hg bookmark -i file2 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
23 $ hg up 0 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
24 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
37114
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
25 |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
26 #if symlink |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
27 $ mkdir a |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
28 $ ln -s c a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
29 $ hg add a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
30 $ hg commit -m "link" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
31 created new head |
37114
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
32 #else |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
33 $ hg import -q --bypass - <<EOF |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
34 > # HG changeset patch |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
35 > link |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
36 > |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
37 > diff --git a/a/b b/a/b |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
38 > new file mode 120000 |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
39 > --- /dev/null |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
40 > +++ b/a/b |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
41 > @@ -0,0 +1,1 @@ |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
42 > +c |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
43 > \ No newline at end of file |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
44 > EOF |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
45 $ hg up -q |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
46 #endif |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
47 |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
48 $ hg bookmark -i link |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
49 $ hg up 0 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
50 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
51 $ mkdir -p a/b/c |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
52 $ echo 2 > a/b/c/d |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
53 $ hg add a/b/c/d |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
54 $ hg commit -m "dir" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
55 created new head |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
56 $ hg bookmark -i dir |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
57 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
58 Merge - local file conflicts with remote directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
59 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
60 $ hg up file |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
61 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
62 (activating bookmark file) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
63 $ hg bookmark -i |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
64 $ hg merge --verbose dir |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
65 resolving manifests |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
66 a/b: path conflict - a file or link has the same name as a directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
67 the local file has been renamed to a/b~0ed027b96f31 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
68 resolve manually then use 'hg resolve --mark a/b' |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
34942
diff
changeset
|
69 moving a/b to a/b~0ed027b96f31 |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
70 getting a/b/c/d |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
71 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
35704
41ef02ba329b
merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35437
diff
changeset
|
72 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
73 [1] |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
74 $ hg status |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
75 M a/b/c/d |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
76 A a/b~0ed027b96f31 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
77 R a/b |
44395
382f4f09f0bd
tests: add tests of debugmergestate with unresolved/resolved path conflicts
Martin von Zweigbergk <martinvonz@google.com>
parents:
37114
diff
changeset
|
78 $ hg debugmergestate |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
79 local (working copy): 0ed027b96f31a2560c8abe689ba59876409a2b8e |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
80 other (merge rev): 9049d9534d5c5d16264aab02b4b9e20d03faabef |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
81 file: a/b (state "pu") |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
82 rename side: l |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
83 renamed path: a/b~0ed027b96f31 |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
84 $ hg resolve --all |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
85 a/b: path conflict must be resolved manually |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
86 $ hg forget a/b~0ed027b96f31 && rm a/b~0ed027b96f31 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
87 $ hg resolve --mark a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
88 (no more unresolved files) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
89 $ hg commit -m "merge file and dir (deleted file)" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
90 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
91 Merge - local symlink conflicts with remote directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
92 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
93 $ hg up link |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
94 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
95 (activating bookmark link) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
96 $ hg bookmark -i |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
97 $ hg merge dir |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
98 a/b: path conflict - a file or link has the same name as a directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
99 the local file has been renamed to a/b~2ea68033e3be |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
100 resolve manually then use 'hg resolve --mark a/b' |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
101 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
35704
41ef02ba329b
merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35437
diff
changeset
|
102 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
103 [1] |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
104 $ hg status |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
105 M a/b/c/d |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
106 A a/b~2ea68033e3be |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
107 R a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
108 $ hg resolve --list |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
109 P a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
110 $ hg resolve --all |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
111 a/b: path conflict must be resolved manually |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
112 $ hg mv a/b~2ea68033e3be a/b.old |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
113 $ hg resolve --mark a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
114 (no more unresolved files) |
44395
382f4f09f0bd
tests: add tests of debugmergestate with unresolved/resolved path conflicts
Martin von Zweigbergk <martinvonz@google.com>
parents:
37114
diff
changeset
|
115 $ hg debugmergestate |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
116 local (working copy): 2ea68033e3be03a560471c1fc9e5704fbedb9b4b |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
117 other (merge rev): 9049d9534d5c5d16264aab02b4b9e20d03faabef |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
118 file: a/b (state "pr") |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
119 rename side: l |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44395
diff
changeset
|
120 renamed path: a/b~2ea68033e3be |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
121 $ hg resolve --list |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
122 R a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
123 $ hg commit -m "merge link and dir (renamed link)" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
124 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
125 Merge - local directory conflicts with remote file or link |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
126 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
127 $ hg up dir |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
128 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
129 (activating bookmark dir) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
130 $ hg bookmark -i |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
131 $ hg merge file |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
132 a/b: path conflict - a file or link has the same name as a directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
133 the remote file has been renamed to a/b~0ed027b96f31 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
134 resolve manually then use 'hg resolve --mark a/b' |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
135 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
35704
41ef02ba329b
merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35437
diff
changeset
|
136 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
137 [1] |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
138 $ hg status |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
139 A a/b~0ed027b96f31 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
140 $ hg resolve --all |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
141 a/b: path conflict must be resolved manually |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
142 $ hg mv a/b~0ed027b96f31 a/b/old-b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
143 $ hg resolve --mark a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
144 (no more unresolved files) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
145 $ hg commit -m "merge dir and file (move file into dir)" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
146 created new head |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
147 $ hg merge file2 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
148 merging a/b/old-b and a/b to a/b/old-b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
149 0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
150 (branch merge, don't forget to commit) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
151 $ cat a/b/old-b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
152 2 |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
153 $ hg commit -m "merge file2 (copytrace tracked rename)" |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
154 $ hg merge link |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
155 a/b: path conflict - a file or link has the same name as a directory |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
156 the remote file has been renamed to a/b~2ea68033e3be |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
157 resolve manually then use 'hg resolve --mark a/b' |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
158 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
35704
41ef02ba329b
merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35437
diff
changeset
|
159 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
160 [1] |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
161 $ hg mv a/b~2ea68033e3be a/b.old |
37114
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
162 |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
163 #if symlink |
34571
75bd034a1e00
tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com>
parents:
34558
diff
changeset
|
164 $ readlink.py a/b.old |
75bd034a1e00
tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com>
parents:
34558
diff
changeset
|
165 a/b.old -> c |
37114
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
166 #else |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
167 $ cat a/b.old |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
168 c (no-eol) |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
169 #endif |
a8a0cafcef79
test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents:
35704
diff
changeset
|
170 |
34558
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
171 $ hg resolve --mark a/b |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
172 (no more unresolved files) |
f71c712ebdec
tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff
changeset
|
173 $ hg commit -m "merge link (rename link)" |