( )⚙ D625 copytrace: use the full copytracing method if only drafts are involved

This is an archive of the discontinued Mercurial Phabricator instance.

copytrace: use the full copytracing method if only drafts are involved
ClosedPublic

Authored by pulkit on Sep 4 2017, 6:56 PM.

Details

Summary

This patch adds the functionality to use the full copytracing even if
experimental.copytrace = heuristics in cases when drafts are involved.

This is also a part of copytrace extension in fbext.

This also adds tests which are also taken from fbext.

.. feature::

The `heuristics` option for `experimental.copytrace` performs full
copytracing if both source and destination branches contains non-public
changsets only.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

pulkit created this revision.Sep 4 2017, 6:56 PM
yuja requested changes to this revision.Sep 6 2017, 10:29 AM
yuja added a subscriber: yuja.

The heuristics option for experimental.copytrace performs full
copytracing if drafts are involved.

This sounds somewhat incorrect. One of the involved revisions should
always be draft on rebase. Can you rephrase?

mercurial/copies.py
371

Please comment "why" instead of "what this is doing."

386

What if some of them are "secret" ?

This revision now requires changes to proceed.Sep 6 2017, 10:29 AM
pulkit edited edge metadata.Sep 9 2017, 6:51 PM
pulkit edited the summary of this revision. (Show Details)
pulkit updated this revision to Diff 1689.
pulkit updated this revision to Diff 1792.Sep 13 2017, 2:54 PM
durin42 accepted this revision.Sep 20 2017, 12:12 PM
This revision was automatically updated to reflect the committed changes.