Wed, 16 Sep 2020 21:00:02 +0200 salvaged: properly deal with salvaged file during copy tracing
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 16 Sep 2020 21:00:02 +0200] rev 45670
salvaged: properly deal with salvaged file during copy tracing When salvaged files are encountered, the removal have been reverted and we should keep the rename information from the other side. The conditional was starting to be quite hairy, so we spell it out in multiple elif case for readability. This fixes the associated test cases introduced a while back. The changeset centric copy tracing is now (known) bug free. Differential Revision: https://phab.mercurial-scm.org/D9130
Tue, 15 Sep 2020 10:55:17 +0200 salvaged: persist the salvaged set on disk
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 15 Sep 2020 10:55:17 +0200] rev 45669
salvaged: persist the salvaged set on disk With the new side data storage, this is trivial. Differential Revision: https://phab.mercurial-scm.org/D9129
Tue, 29 Sep 2020 22:47:54 +0200 changing-files: add clean computation of changed file for merges
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Sep 2020 22:47:54 +0200] rev 45668
changing-files: add clean computation of changed file for merges This is "a tad more complicated" than the previous cases. See inline documentation for details (have fun). Differential Revision: https://phab.mercurial-scm.org/D9128
Tue, 29 Sep 2020 22:46:29 +0200 changing-files: add clean computation of changed files for linear changesets
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Sep 2020 22:46:29 +0200] rev 45667
changing-files: add clean computation of changed files for linear changesets The `files` field is not reliable, so we need to compute things from scratch. We deal with the second simplest case, linear changesets. We diff the current manifest with the parent manifest. This reveal the file added, changed and removed. Differential Revision: https://phab.mercurial-scm.org/D9127
Tue, 29 Sep 2020 22:38:08 +0200 changing-files: add clean computation of changed files for roots
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Sep 2020 22:38:08 +0200] rev 45666
changing-files: add clean computation of changed files for roots The `files` field is not reliable, so we need to compute things from scratch. We start with the simplest case root changesets. In the beginning they was nothing, then user said "let there be files" and there were added files. Differential Revision: https://phab.mercurial-scm.org/D9126
Wed, 30 Sep 2020 09:21:33 +0200 changing-files: add a debug command display changed files
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Sep 2020 09:21:33 +0200] rev 45665
changing-files: add a debug command display changed files The binary output from sidedata is useful to verify the underlying data do not get corrupted. However having a human readable version is much simpler for debuging the changed files data itself. So we add a debug command to dump this information and we use it in the tests. Differential Revision: https://phab.mercurial-scm.org/D9125
Tue, 29 Sep 2020 23:16:09 +0200 side-data: add a test to check sidedata upgrade
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Sep 2020 23:16:09 +0200] rev 45664
side-data: add a test to check sidedata upgrade We want to make sure that sidedata computed at commit time and during upgrade are the same. To do so, we upgrade the repository in `test-copies-chain-merge.t` since the file is checking all the special case that we need to catch. The sidedata content in both case should be the same. Differential Revision: https://phab.mercurial-scm.org/D9124
Tue, 29 Sep 2020 22:19:46 +0200 changing-files: split the changing files computation from encoding
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Sep 2020 22:19:46 +0200] rev 45663
changing-files: split the changing files computation from encoding The side data encoding is already in its own function, now we move the changing files computation in it own function, it will receive more updates in the coming changesets. Differential Revision: https://phab.mercurial-scm.org/D9123
Mon, 14 Sep 2020 23:47:42 +0200 salvaged: record salvaged in ChangingFiles at commit time
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Sep 2020 23:47:42 +0200] rev 45662
salvaged: record salvaged in ChangingFiles at commit time The new code is a simple but effective way to detect this information. We might be able to move it inside the various conditionnal above, but I want to focus on simplicity until we have a full working stack. It is worth noting that if we record the information in the ChangingFiles object, it is not persisted yet. This will comes with later changesets. Differential Revision: https://phab.mercurial-scm.org/D9120
Mon, 14 Sep 2020 23:46:38 +0200 salvaged: track removal-candidates in more cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Sep 2020 23:46:38 +0200] rev 45661
salvaged: track removal-candidates in more cases If we want to use this information for copy tracing, then we need to be able to record it. First we unlock the recording of deletion candidates, and we will actually record the data in the next changeset. Differential Revision: https://phab.mercurial-scm.org/D9119
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip