Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/merge.py @ 5429:77cafe8f89e0
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 | 36c46e20976a |
children | f9c2917a9f7a |
comparison
equal
deleted
inserted
replaced
5428:eb1b6aaeb32e | 5429:77cafe8f89e0 |
---|---|
178 ca = c.ancestor(c2) | 178 ca = c.ancestor(c2) |
179 if not ca: # unrelated? | 179 if not ca: # unrelated? |
180 continue | 180 continue |
181 # named changed on only one side? | 181 # named changed on only one side? |
182 if ca.path() == c.path() or ca.path() == c2.path(): | 182 if ca.path() == c.path() or ca.path() == c2.path(): |
183 if c == ca or c2 == ca: # no merge needed, ignore copy | 183 if c == ca and c2 == ca: # no merge needed, ignore copy |
184 continue | 184 continue |
185 copy[c.path()] = of | 185 copy[c.path()] = of |
186 | 186 |
187 if not repo.ui.configbool("merge", "followcopies", True): | 187 if not repo.ui.configbool("merge", "followcopies", True): |
188 return {}, {} | 188 return {}, {} |
278 | 278 |
279 return copy, diverge | 279 return copy, diverge |
280 | 280 |
281 def symmetricdifference(repo, rev1, rev2): | 281 def symmetricdifference(repo, rev1, rev2): |
282 """symmetric difference of the sets of ancestors of rev1 and rev2 | 282 """symmetric difference of the sets of ancestors of rev1 and rev2 |
283 | 283 |
284 I.e. revisions that are ancestors of rev1 or rev2, but not both. | 284 I.e. revisions that are ancestors of rev1 or rev2, but not both. |
285 """ | 285 """ |
286 # basic idea: | 286 # basic idea: |
287 # - mark rev1 and rev2 with different colors | 287 # - mark rev1 and rev2 with different colors |
288 # - walk the graph in topological order with the help of a heap; | 288 # - walk the graph in topological order with the help of a heap; |