annotate tests/test-pathconflicts-merge.t @ 38483:3efadf2317c7

windows: add a method to convert Unix style command lines to Windows style This started as a copy/paste of `os.path.expandvars()`, but limited to a given dictionary of variables, converting `foo = foo + bar` to `foo += bar`, and adding 'b' string prefixes. Then code was added to make sure that a value being substituted in wouldn't itself be expanded by cmd.exe. But that left inconsistent results between `$var1` and `%var1%` when its value was '%foo%'- since neither were touched, `$var1` wouldn't expand but `%var1%` would. So instead, this just converts the Unix style to Windows style (if the variable exists, because Windows will leave `%missing%` as-is), and lets cmd.exe do its thing. I then dropped the %% -> % conversion (because Windows doesn't do this), and added the ability to escape the '$' with '\'. The escape character is dropped, for consistency with shell handling. After everything seemed stable and working, running the whole test suite flagged a problem near the end of test-bookmarks.t:1069. The problem is cmd.exe won't pass empty variables to its child, so defined but empty variables are now skipped. I can't think of anything better, and it seems like a pre-existing violation of the documentation, which calls out that HG_OLDNODE is empty on bookmark creation. Future additions could potentially be replacing strong quotes with double quotes (cmd.exe doesn't know what to do with the former), escaping a double quote, and some tilde expansion via os.path.expanduser(). I've got some doubts about replacing the strong quotes in case sh.exe is run, but it seems like the right thing to do the vast majority of the time. The original form of this was discussed about a year ago[1]. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-July/100735.html
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 24 Jun 2018 01:13:09 -0400
parents a8a0cafcef79
children 382f4f09f0bd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
78 $ hg resolve --all
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
79 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
80 $ 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
81 $ hg resolve --mark a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
82 (no more unresolved files)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
83 $ 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
84
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
85 Merge - local symlink conflicts with remote directory
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
86
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
87 $ hg up link
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
88 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
89 (activating bookmark link)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
90 $ hg bookmark -i
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
91 $ hg merge dir
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
92 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
93 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
94 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
95 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
96 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
97 [1]
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
98 $ hg status
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
99 M a/b/c/d
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
100 A a/b~2ea68033e3be
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
101 R a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
102 $ hg resolve --list
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
103 P a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
104 $ hg resolve --all
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
105 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
106 $ 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
107 $ hg resolve --mark a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
108 (no more unresolved files)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
109 $ hg resolve --list
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
110 R a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
111 $ 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
112
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
113 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
114
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
115 $ hg up dir
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
116 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
117 (activating bookmark dir)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
118 $ hg bookmark -i
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
119 $ hg merge file
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
120 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
121 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
122 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
123 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
124 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
125 [1]
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
126 $ hg status
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
127 A a/b~0ed027b96f31
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
128 $ hg resolve --all
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
129 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
130 $ 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
131 $ hg resolve --mark a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
132 (no more unresolved files)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
133 $ 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
134 created new head
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
135 $ hg merge file2
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
136 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
137 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
138 (branch merge, don't forget to commit)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
139 $ cat a/b/old-b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
140 2
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
141 $ 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
142 $ hg merge link
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
143 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
144 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
145 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
146 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
147 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
148 [1]
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
149 $ 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
150
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
151 #if symlink
34571
75bd034a1e00 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com>
parents: 34558
diff changeset
152 $ readlink.py a/b.old
75bd034a1e00 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com>
parents: 34558
diff changeset
153 a/b.old -> c
37114
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
154 #else
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
155 $ cat a/b.old
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
156 c (no-eol)
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
157 #endif
a8a0cafcef79 test-pathconflicts-merge: stop requiring symlink support
Matt Harbison <matt_harbison@yahoo.com>
parents: 35704
diff changeset
158
34558
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
159 $ hg resolve --mark a/b
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
160 (no more unresolved files)
f71c712ebdec tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com>
parents:
diff changeset
161 $ hg commit -m "merge link (rename link)"