Mon, 14 Dec 2020 01:30:32 +0100 copies: extract value comparison in the python copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Dec 2020 01:30:32 +0100] rev 46161
copies: extract value comparison in the python copy tracing This mirror what we did in the Rust code. This is useful to prepare rework for this comparison logic that we will need to handle more advanced chaining cases (when merges are chained). Differential Revision: https://phab.mercurial-scm.org/D9590
Sun, 13 Dec 2020 19:18:10 +0100 copies: explain the "arbitrary" copy source pick in case of conflict
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 13 Dec 2020 19:18:10 +0100] rev 46160
copies: explain the "arbitrary" copy source pick in case of conflict They are a logic and it is easy to explain, so lets explain it. Differential Revision: https://phab.mercurial-scm.org/D9586
Sun, 13 Dec 2020 20:16:34 +0100 copies: properly match result during changeset centric copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 13 Dec 2020 20:16:34 +0100] rev 46159
copies: properly match result during changeset centric copy tracing By filtering "during" the iteration we were excluding rename information that were not in the matched set but that file served as base information for the matched set. We now do all copy tracing matching at the end of the process to ensure we raise proper result. If we were aggregating information top down instead of bottom up we could do filtering during processing. However, we don't. Differential Revision: https://phab.mercurial-scm.org/D9585
Sun, 13 Dec 2020 20:26:27 +0100 copies: avoid early return in _combine_changeset_copies
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 13 Dec 2020 20:26:27 +0100] rev 46158
copies: avoid early return in _combine_changeset_copies We have to change how we deal with matching (see next changeset) and that processing is common. So we shuffle things around before doing the semantic change for clarity. Differential Revision: https://phab.mercurial-scm.org/D9584
Wed, 02 Dec 2020 15:37:54 +0100 copies-rust: record overwrite when merging
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 02 Dec 2020 15:37:54 +0100] rev 46157
copies-rust: record overwrite when merging When detecting fresh value (from current rev) overwriting older ones during merges, we also record this overwrite for to help potential future comparison. This does really have any performance effect right now, but it get use closer to be able to drop all `is_ancestors` when merging. Differential Revision: https://phab.mercurial-scm.org/D9499
Wed, 02 Dec 2020 15:24:10 +0100 copies-rust: make the comparison aware of the revision being current merged
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 02 Dec 2020 15:24:10 +0100] rev 46156
copies-rust: make the comparison aware of the revision being current merged This make no significant performance change in practice (all ±2%) in practice, but it will help us to distinct between some semantically different cases later on. Differential Revision: https://phab.mercurial-scm.org/D9498
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 tip