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): | ||||