Show More
@@ -196,9 +196,7 b' def _revinfo_getter(repo, match):' | |||
|
196 | 196 | |
|
197 | 197 | changelogrevision = cl.changelogrevision |
|
198 | 198 | |
|
199 | alwaysmatch = match.always() | |
|
200 | ||
|
201 | if rustmod is not None and alwaysmatch: | |
|
199 | if rustmod is not None: | |
|
202 | 200 | |
|
203 | 201 | def revinfo(rev): |
|
204 | 202 | p1, p2 = parents(rev) |
@@ -356,7 +354,7 b' def _combine_changeset_copies(' | |||
|
356 | 354 | |
|
357 | 355 | alwaysmatch = match.always() |
|
358 | 356 | |
|
359 |
if rustmod is not None |
|
|
357 | if rustmod is not None: | |
|
360 | 358 | final_copies = rustmod.combine_changeset_copies( |
|
361 | 359 | list(revs), children_count, targetrev, revinfo, isancestor |
|
362 | 360 | ) |
@@ -396,12 +394,6 b' def _combine_changeset_copies(' | |||
|
396 | 394 | elif parent == 2: |
|
397 | 395 | childcopies = changes.copied_from_p2 |
|
398 | 396 | |
|
399 | if not alwaysmatch: | |
|
400 | childcopies = { | |
|
401 | dst: src | |
|
402 | for dst, src in childcopies.items() | |
|
403 | if match(dst) | |
|
404 | } | |
|
405 | 397 | if childcopies: |
|
406 | 398 | newcopies = copies.copy() |
|
407 | 399 | for dest, source in pycompat.iteritems(childcopies): |
@@ -447,6 +439,10 b' def _combine_changeset_copies(' | |||
|
447 | 439 | for dest, (tt, source) in all_copies[targetrev].items(): |
|
448 | 440 | if source is not None: |
|
449 | 441 | final_copies[dest] = source |
|
442 | if not alwaysmatch: | |
|
443 | for filename in list(final_copies.keys()): | |
|
444 | if not match(filename): | |
|
445 | del final_copies[filename] | |
|
450 | 446 | return final_copies |
|
451 | 447 | |
|
452 | 448 |
@@ -872,6 +872,19 b' We upgrade a repository that is not usin' | |||
|
872 | 872 | Test copy information chaining |
|
873 | 873 | ============================== |
|
874 | 874 | |
|
875 | Check that matching only affect the destination and not intermediate path | |
|
876 | ------------------------------------------------------------------------- | |
|
877 | ||
|
878 | The two status call should give the same value for f | |
|
879 | ||
|
880 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")' | |
|
881 | A f | |
|
882 | a | |
|
883 | R a | |
|
884 | $ hg status --copies --rev 'desc("i-0")' --rev 'desc("a-2")' f | |
|
885 | A f | |
|
886 | a (no-changeset no-compatibility !) | |
|
887 | ||
|
875 | 888 | merging with unrelated change does not interfere with the renames |
|
876 | 889 | --------------------------------------------------------------- |
|
877 | 890 |
General Comments 0
You need to be logged in to leave comments.
Login now