Show More
@@ -196,9 +196,7 b' def _revinfo_getter(repo, match):' | |||||
196 |
|
196 | |||
197 | changelogrevision = cl.changelogrevision |
|
197 | changelogrevision = cl.changelogrevision | |
198 |
|
198 | |||
199 | alwaysmatch = match.always() |
|
199 | if rustmod is not None: | |
200 |
|
||||
201 | if rustmod is not None and alwaysmatch: |
|
|||
202 |
|
200 | |||
203 | def revinfo(rev): |
|
201 | def revinfo(rev): | |
204 | p1, p2 = parents(rev) |
|
202 | p1, p2 = parents(rev) | |
@@ -356,7 +354,7 b' def _combine_changeset_copies(' | |||||
356 |
|
354 | |||
357 | alwaysmatch = match.always() |
|
355 | alwaysmatch = match.always() | |
358 |
|
356 | |||
359 |
if rustmod is not None |
|
357 | if rustmod is not None: | |
360 | final_copies = rustmod.combine_changeset_copies( |
|
358 | final_copies = rustmod.combine_changeset_copies( | |
361 | list(revs), children_count, targetrev, revinfo, isancestor |
|
359 | list(revs), children_count, targetrev, revinfo, isancestor | |
362 | ) |
|
360 | ) | |
@@ -396,12 +394,6 b' def _combine_changeset_copies(' | |||||
396 | elif parent == 2: |
|
394 | elif parent == 2: | |
397 | childcopies = changes.copied_from_p2 |
|
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 | if childcopies: |
|
397 | if childcopies: | |
406 | newcopies = copies.copy() |
|
398 | newcopies = copies.copy() | |
407 | for dest, source in pycompat.iteritems(childcopies): |
|
399 | for dest, source in pycompat.iteritems(childcopies): | |
@@ -447,6 +439,10 b' def _combine_changeset_copies(' | |||||
447 | for dest, (tt, source) in all_copies[targetrev].items(): |
|
439 | for dest, (tt, source) in all_copies[targetrev].items(): | |
448 | if source is not None: |
|
440 | if source is not None: | |
449 | final_copies[dest] = source |
|
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 | return final_copies |
|
446 | return final_copies | |
451 |
|
447 | |||
452 |
|
448 |
@@ -872,6 +872,19 b' We upgrade a repository that is not usin' | |||||
872 | Test copy information chaining |
|
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 | merging with unrelated change does not interfere with the renames |
|
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