Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 5433:f9b0e4f023c4
findcopies: fix rename bug
We've fiddled with this line several times, and an old bug has
reappeared from it. Let's take a peek at the history.
The original "or" (rev 3674, in 0.9.2 and 0.9.3):
http://www.selenic.com/hg/rev/9103dab96093
Then I changed it to an "and" to fix a bug (rev 4304):
http://www.selenic.com/hg/rev/4787e2b0dd03
Then for reasons now lost in the mists of time, I dropped half (rev 4399):
http://www.selenic.com/hg/rev/93652499bed3
Then we added back the "or" (rev 4416, in 0.9.4):
http://www.selenic.com/hg/rev/bb1800a7d7e1
So it seems it ought to be "and".
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 08 Oct 2007 18:47:22 -0500 |
parents | ad6b97132b81 |
children | f9c2917a9f7a |
comparison
equal
deleted
inserted
replaced
5369:8ab7de07f40e | 5433:f9b0e4f023c4 |
---|---|
175 ca = c.ancestor(c2) | 175 ca = c.ancestor(c2) |
176 if not ca: # unrelated? | 176 if not ca: # unrelated? |
177 continue | 177 continue |
178 # named changed on only one side? | 178 # named changed on only one side? |
179 if ca.path() == c.path() or ca.path() == c2.path(): | 179 if ca.path() == c.path() or ca.path() == c2.path(): |
180 if c == ca or c2 == ca: # no merge needed, ignore copy | 180 if c == ca and c2 == ca: # no merge needed, ignore copy |
181 continue | 181 continue |
182 copy[c.path()] = of | 182 copy[c.path()] = of |
183 | 183 |
184 if not repo.ui.configbool("merge", "followcopies", True): | 184 if not repo.ui.configbool("merge", "followcopies", True): |
185 return {}, {} | 185 return {}, {} |
252 | 252 |
253 return copy, diverge | 253 return copy, diverge |
254 | 254 |
255 def symmetricdifference(repo, rev1, rev2): | 255 def symmetricdifference(repo, rev1, rev2): |
256 """symmetric difference of the sets of ancestors of rev1 and rev2 | 256 """symmetric difference of the sets of ancestors of rev1 and rev2 |
257 | 257 |
258 I.e. revisions that are ancestors of rev1 or rev2, but not both. | 258 I.e. revisions that are ancestors of rev1 or rev2, but not both. |
259 """ | 259 """ |
260 # basic idea: | 260 # basic idea: |
261 # - mark rev1 and rev2 with different colors | 261 # - mark rev1 and rev2 with different colors |
262 # - walk the graph in topological order with the help of a heap; | 262 # - walk the graph in topological order with the help of a heap; |