Details
Details
- Reviewers
- None
- Group Reviewers
hg-reviewers - Commits
- rHGa6be3af3a397: copies: ignore heuristics copytracing when using changeset-centric algos
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
hg-reviewers |
Lint Skipped |
Unit Tests Skipped |
Path | Packages | |||
---|---|---|---|---|
M | mercurial/copies.py (4 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
Martin von Zweigbergk | Apr 17 2019, 5:44 PM |
Status | Author | Revision | |
---|---|---|---|
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz | ||
Closed | martinvonz |
return _dirstatecopies(repo, narrowmatch), {}, {}, {}, {} | return _dirstatecopies(repo, narrowmatch), {}, {}, {}, {} | ||||
copytracing = repo.ui.config('experimental', 'copytrace') | copytracing = repo.ui.config('experimental', 'copytrace') | ||||
if stringutil.parsebool(copytracing) is False: | if stringutil.parsebool(copytracing) is False: | ||||
# stringutil.parsebool() returns None when it is unable to parse the | # stringutil.parsebool() returns None when it is unable to parse the | ||||
# value, so we should rely on making sure copytracing is on such cases | # value, so we should rely on making sure copytracing is on such cases | ||||
return {}, {}, {}, {}, {} | return {}, {}, {}, {}, {} | ||||
if usechangesetcentricalgo(repo): | |||||
# The heuristics don't make sense when we need changeset-centric algos | |||||
return _fullcopytracing(repo, c1, c2, base) | |||||
# Copy trace disabling is explicitly below the node == p1 logic above | # Copy trace disabling is explicitly below the node == p1 logic above | ||||
# because the logic above is required for a simple copy to be kept across a | # because the logic above is required for a simple copy to be kept across a | ||||
# rebase. | # rebase. | ||||
if copytracing == 'heuristics': | if copytracing == 'heuristics': | ||||
# Do full copytracing if only non-public revisions are involved as | # Do full copytracing if only non-public revisions are involved as | ||||
# that will be fast enough and will also cover the copies which could | # that will be fast enough and will also cover the copies which could | ||||
# be missed by heuristics | # be missed by heuristics | ||||
if _isfullcopytraceable(repo, c1, base): | if _isfullcopytraceable(repo, c1, base): |