Wed, 17 Feb 2021 21:08:45 +0100 test-copies: remove revision number from log
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 17 Feb 2021 21:08:45 +0100] rev 46594
test-copies: remove revision number from log Differential Revision: https://phab.mercurial-scm.org/D10048
Mon, 14 Dec 2020 17:56:56 +0100 test-copies: add test chaining multiple merge
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Dec 2020 17:56:56 +0100] rev 46593
test-copies: add test chaining multiple merge Right now, the copy tracing logic take the right decision for merges, but it does not keep track of the right information about these decision and can fall into later traps. We start with highlighting this possibility by adding new tests, and we will fix them later. Check the inline test documentation for details. Differential Revision: https://phab.mercurial-scm.org/D9611
Mon, 14 Dec 2020 17:56:30 +0100 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 14 Dec 2020 17:56:30 +0100] rev 46592
test-copies: add test chaining multiple merges Right now, the copy tracing logic take the right decision for merges, but it does not keep track of the right information about these decision and can fall into later traps. We start with highlighting this possibility by adding new tests, and we will fix them later. Check the inline test documentation for details. Differential Revision: https://phab.mercurial-scm.org/D9610
Tue, 16 Feb 2021 15:43:54 +0100 test-copies: add test chaining multiple merges
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 15:43:54 +0100] rev 46591
test-copies: add test chaining multiple merges Right now, the copy tracing logic take the right decision for merges, but it does not keep track of the right information about these decision and can fall into later traps. We start with highlighting this possibility by adding new tests, and we will fix them later. Check the inline test documentation for details. Differential Revision: https://phab.mercurial-scm.org/D9609
Thu, 18 Feb 2021 13:49:55 +0100 test-copies: add subcase titles for various "conflicting" information variant
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Feb 2021 13:49:55 +0100] rev 46590
test-copies: add subcase titles for various "conflicting" information variant This make the transitions between case clearer. Differential Revision: https://phab.mercurial-scm.org/D10047
Thu, 18 Feb 2021 12:45:16 +0100 test-copies: improve description of the B+F case
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 18 Feb 2021 12:45:16 +0100] rev 46589
test-copies: improve description of the B+F case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10046
Tue, 16 Feb 2021 06:02:09 +0100 test-copies: improve description of the C+H case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 06:02:09 +0100] rev 46588
test-copies: improve description of the C+H case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10045
Tue, 16 Feb 2021 05:58:22 +0100 test-copies: improve description of the B+C "revert/restore" case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:58:22 +0100] rev 46587
test-copies: improve description of the B+C "revert/restore" case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10044
Tue, 16 Feb 2021 05:54:55 +0100 test-copies: improve description of the G+C case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:54:55 +0100] rev 46586
test-copies: improve description of the G+C case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10043
Tue, 16 Feb 2021 05:46:32 +0100 test-copies: improve description of the G+F case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:46:32 +0100] rev 46585
test-copies: improve description of the G+F case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10042
Tue, 16 Feb 2021 05:39:22 +0100 test-copies: improve description of the D+G case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:39:22 +0100] rev 46584
test-copies: improve description of the D+G case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10041
Tue, 16 Feb 2021 05:35:18 +0100 test-copies: improve description of the A+E case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:35:18 +0100] rev 46583
test-copies: improve description of the A+E case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10040
Tue, 16 Feb 2021 05:32:20 +0100 test-copies: improve description of the B+D case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:32:20 +0100] rev 46582
test-copies: improve description of the B+D case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10039
Tue, 16 Feb 2021 05:29:04 +0100 test-copies: improve description of the B+C case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:29:04 +0100] rev 46581
test-copies: improve description of the B+C case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10038
Tue, 16 Feb 2021 05:26:46 +0100 test-copies: improve description of the A+B case
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:26:46 +0100] rev 46580
test-copies: improve description of the A+B case This will make its role clearer. Differential Revision: https://phab.mercurial-scm.org/D10037
Tue, 16 Feb 2021 05:19:23 +0100 test-copies: use intermediate variable some commit descriptions
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 16 Feb 2021 05:19:23 +0100] rev 46579
test-copies: use intermediate variable some commit descriptions Right now, everything mostly says "simple merge", we want to use something a bit more descriptive. Before doing any changes, we do most of the churn. This helps the next sets of changesets to be clearer. Differential Revision: https://phab.mercurial-scm.org/D10036
Mon, 22 Feb 2021 18:48:45 +0100 test-copies: don't use empty file for "same content" cases
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 22 Feb 2021 18:48:45 +0100] rev 46578
test-copies: don't use empty file for "same content" cases For main case (using filelog or sidedata), this lead to the following hash change. Changesets: - 01c2f5eabdc4ce2bdee42b5f86311955e6c8f573 → 319179230cc87769ab3a861ebffe7a534ebb3d85 - 01c2f5eabdc4 → 319179230cc8 - c72365ee036fca4fb27fd745459bfb6ea1ac6993 → 6cbc9c2b7b391dd738603173717c601648d3735f - c72365ee036f → 6cbc9c2b7b39 File revision for `f`: - 0dd616bc7ab1a111921d95d76f69cda5c2ac539c → cedeacc5bf5d9b9be4d7f8394d33a5349bb29c6e - 0dd616bc7ab1 → cedeacc5bf5d - eb806e34ef6be4c264effd5933d31004ad15a793 → ffb76cd765422a18759a335d8a81fa2bd455be6b - eb806e34ef6b → ffb76cd76542 - 6da5a2eecb9c833f830b67a4972366d49a9a142c → 08d1ff5926fbd0285cdeb044cbe8ab651687e86a - 6da5a2eecb9c → 08d1ff5926fb File revision for `d`: - 7bded9d9da1f7bf9bf7cbfb24fe1e6ccf68ec440 → ba177bbb45ea930ee48469a55d40224537bd57a9 For the "extra in changeset" case we get the following change for file `d`: - 68d5bca9df0577b6bc2ea30ca724e13ead60da81 → b894de5c94aadcb4894ea7c358389819c27fbcce - 68d5bca9df05 → b894de5c94aa - b80de5d138758541c5f05265ad144ab9fa86d1db → 56647659eff080e06e45c18ea9e848836dadea71 - b80de5d13875 → 56647659eff0
Thu, 10 Dec 2020 14:25:36 +0100 test-copies: reinstall initial identical (empty) files for chained copied
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 10 Dec 2020 14:25:36 +0100] rev 46577
test-copies: reinstall initial identical (empty) files for chained copied This effectively back out changeset deeb215be337. Changeset deeb215be33 does not really include a justification for its change and make mes uncomfortable. I have been thinking about it and they are two options: - either having empty/full files does not make a difference, and deeb215be337 is a gratuitous changes. - either having empty/full files do make a difference and deeb215be33 silently change the test coverage. In such situation if we want the "not empty" case to be tested, we should add new cases to cover them In practice, we know that the "file content did not change, but merge still need to create a new filenode" case exists (for example if merging result in similar content but both parent of the file need to be recorded), and that such case are easy to miss/mess-up in the tests. Having all the file using the same (empty) content was done on purpose to increase the coverage of such corner case. As a result I am reinstalling the previous test situation. To increase the coverage of some case involving content-merge in test-copies-chain-merge.t, we will add a new, dedicated, cases later in this series, once various cleanup and test improvement have been set in place. This changeset starts with reinstalling the previous situation as (1) it is more fragile, so I am more confided getting it back in the initial situation, (2) I have specific test further down the line that are base on these one. The next changeset will slightly alter the test to use non-empty files for these tests (with identical content). It should help to make the initial intent "merge file with identical content" clearer. I am still using a two steps (backout, then change content) approach to facilitate careful validation of the output change. Doing so has a large impact on the output of the "copy info in changeset extra" variant added in 5e72827dae1e (2 changesets after deeb215be33). It seems to highlight various breakage when merge without content change are involved, this is a good example of why we want to explicitly test theses cases. Because the different -do- matters a lot. Fixing the "copy info in changeset extra" is not a priority here. Because (1) this changeset does not break anything, it only highlight that they were always broken. (2) the only people using "copy info in changeset extra" do not have merge. Differential Revision: https://phab.mercurial-scm.org/D9587
Wed, 10 Feb 2021 17:08:34 +0530 upgrade: speed up when we have only nodemap to downgrade
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Feb 2021 17:08:34 +0530] rev 46576
upgrade: speed up when we have only nodemap to downgrade Similar to what we do on upgrade, if we have only persistent-nodemap to downgrade we will just delete the nodemap files and update repository requirements instead of processing all the revlogs. After downgrade, we are left with unrequired docket and transaction files which seems fine but can work on deleting them if someone feels we should. Differential Revision: https://phab.mercurial-scm.org/D9992
Mon, 15 Feb 2021 15:13:20 +0530 upgrade: write nodemap for manifests too
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 15 Feb 2021 15:13:20 +0530] rev 46575
upgrade: write nodemap for manifests too In 98e39f04d60e I assumed that writing nodemap for manifests was not desirable and stopped writing it during upgrade. However in recent discussion with Pierre-Yves, I learnt that that's not true. Differential Revision: https://phab.mercurial-scm.org/D9991
Tue, 23 Feb 2021 12:29:41 -0800 windows: fix parsing of version number to match format from D9955
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Feb 2021 12:29:41 -0800] rev 46574
windows: fix parsing of version number to match format from D9955 Differential Revision: https://phab.mercurial-scm.org/D10061
Tue, 23 Feb 2021 12:26:52 -0800 build: make version from .hg_archival.txt consistent with that from .hg/
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Feb 2021 12:26:52 -0800] rev 46573
build: make version from .hg_archival.txt consistent with that from .hg/ D9955 changed the version format to replace "-" by "." and to add "hg" before the number representing the distance from the latest tag. However, it missed the "hg" string and added an extra "." to the version string we produce when there's a `.hg_archival.txt`. This patch makes it consistent. Differential Revision: https://phab.mercurial-scm.org/D10060
Thu, 11 Feb 2021 11:22:53 -0800 packaging: add Provides: python3-mercurial and Homepage to debian package
Kyle Lippincott <spectral@google.com> [Thu, 11 Feb 2021 11:22:53 -0800] rev 46572
packaging: add Provides: python3-mercurial and Homepage to debian package There are other packages that depend on python3-mercurial, like debian's mercurial-git, so we should mark ourselves as providing it. I compared the control file we generate to the one that the debian maintainers generate, and noticed several differences: - the Homepage bit. I included this, because why not - a more robust Suggests list that includes a graphical merge tool - a more robust Breaks list - debian's Recommends openssh-client, we only Recommends ca-certificates - a split into `mercurial` and `mercurial-common` (and possibly others?) - a slightly different description Differential Revision: https://phab.mercurial-scm.org/D9983
Fri, 12 Feb 2021 09:53:48 +0100 bundle2: pass the operation source down to the changegroup
Raphaël Gomès <rgomes@octobus.net> [Fri, 12 Feb 2021 09:53:48 +0100] rev 46571
bundle2: pass the operation source down to the changegroup This is currently not used by anything in core (and redundant with the url), the real source information is much more useful. This is going to be used in sidedata exchange patches coming soon. Differential Revision: https://phab.mercurial-scm.org/D9986
Fri, 12 Feb 2021 13:27:03 -0800 gendoc: use an empty comment so aliases are separated from previous elements
Kyle Lippincott <spectral@google.com> [Fri, 12 Feb 2021 13:27:03 -0800] rev 46570
gendoc: use an empty comment so aliases are separated from previous elements For commands like `hg bookmarks`, where there's no `[+] marked option can be specified multiple times`, this causes the final option in the option list to not be the parent of the aliases definition. The aliases section is thus marked as a blockquote like on commands that do have text separating the option list and the aliases definition. Differential Revision: https://phab.mercurial-scm.org/D9990
Fri, 12 Feb 2021 11:06:56 -0800 gendoc: add support for loading extensions from config settings
Kyle Lippincott <spectral@google.com> [Fri, 12 Feb 2021 11:06:56 -0800] rev 46569
gendoc: add support for loading extensions from config settings We manage our installation and ship some extensions, enabled by default for our users, that are in hgext3rd or other directories not scanned by this tool by default. We want to generate docs during the build process, and having those docs include the extensions that users don't have to manually enable is desirable. This is *not* desirable for the normal build process, however, and should never be enabled by default. Differential Revision: https://phab.mercurial-scm.org/D9989
Fri, 12 Feb 2021 11:04:03 -0800 gendoc: support defaults on customopts a bit better
Kyle Lippincott <spectral@google.com> [Fri, 12 Feb 2021 11:04:03 -0800] rev 46568
gendoc: support defaults on customopts a bit better Without this, a customopt will very likely render like this: ``` -foo does foo (default: <hgext.myextension.MyOpt object at 0x7f31...>) ``` I copied this logic from how this is handled in mercurial/help.py. Differential Revision: https://phab.mercurial-scm.org/D9988
Wed, 10 Feb 2021 09:49:50 -0800 softstrip: fix a reference to an undefined variable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 10 Feb 2021 09:49:50 -0800] rev 46567
softstrip: fix a reference to an undefined variable `backupfile` wasn't defined if no backup was requested. Let's set it to `None` by default, which matches what regular `repair.strip()` does. Differential Revision: https://phab.mercurial-scm.org/D9985
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 tip