##// END OF EJS Templates
merge with stable
Matt Mackall -
r16256:c655e4ac merge default
parent child Browse files
Show More
@@ -107,8 +107,11 b' def _picktool(repo, ui, path, binary, sy'
107 if check(t, None, symlink, binary):
107 if check(t, None, symlink, binary):
108 toolpath = _findtool(ui, t)
108 toolpath = _findtool(ui, t)
109 return (t, '"' + toolpath + '"')
109 return (t, '"' + toolpath + '"')
110 # internal merge as last resort
110
111 return (not (symlink or binary) and "internal:merge" or None, None)
111 # internal merge or prompt as last resort
112 if symlink or binary:
113 return "internal:prompt", None
114 return "internal:merge", None
112
115
113 def _eoltype(data):
116 def _eoltype(data):
114 "Guess the EOL type of a file"
117 "Guess the EOL type of a file"
@@ -170,9 +170,10 b' def manifestmerge(repo, p1, p2, pa, over'
170 if m and m != a: # changed from a to m
170 if m and m != a: # changed from a to m
171 return m
171 return m
172 if n and n != a: # changed from a to n
172 if n and n != a: # changed from a to n
173 if n == 'l' or a == 'l':
173 if (n == 'l' or a == 'l') and m1[f] != ma[f]:
174 # can't automatically merge symlink flag change here, let
174 # can't automatically merge symlink flag when there
175 # filemerge take care of it
175 # are file-level conflicts here, let filemerge take
176 # care of it
176 return m
177 return m
177 return n
178 return n
178 return '' # flag was cleared
179 return '' # flag was cleared
@@ -70,3 +70,39 b' Symlink is other parent, executable is l'
70 > fi
70 > fi
71 a has no flags (default for conflicts)
71 a has no flags (default for conflicts)
72
72
73 Update to link without local change should get us a symlink (issue3316):
74
75 $ hg up -C 0
76 $ hg up
77 $ hg st
78
79 Update to link with local change should cause a merge prompt (issue3200):
80
81 $ hg up -C 0
82 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
83 $ echo data > a
84 $ HGMERGE= hg up -y --debug
85 searching for copies back to rev 2
86 resolving manifests
87 overwrite: False, partial: False
88 ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f
89 a: versions differ -> m
90 preserving a for resolve of a
91 updating: a 1/1 files (100.00%)
92 couldn't find merge tool hgmerge
93 picked tool 'internal:prompt' for a (binary False symlink True)
94 no tool found to merge a
95 keep (l)ocal or take (o)ther? l
96 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
97 $ hg diff --git
98 diff --git a/a b/a
99 old mode 120000
100 new mode 100644
101 --- a/a
102 +++ b/a
103 @@ -1,1 +1,1 @@
104 -symlink
105 \ No newline at end of file
106 +data
107
108
General Comments 0
You need to be logged in to leave comments. Login now