Wed, 14 Apr 2021 12:29:44 +0200 relink: use `get_unique_pull_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 12:29:44 +0200] rev 46942
relink: use `get_unique_pull_path` The code does not support multiple destination and will probably never do so. So lets use the dedicated API for this case. Differential Revision: https://phab.mercurial-scm.org/D10409
Wed, 14 Apr 2021 12:01:27 +0200 histedit: use `get_unique_push_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 12:01:27 +0200] rev 46941
histedit: use `get_unique_push_path` Same as for `pathbomb`, this code does not support multiple destinations yet. It might in the future, probably with code put in common with patchwork, but for now lets use the dedicated API. Differential Revision: https://phab.mercurial-scm.org/D10408
Wed, 14 Apr 2021 11:57:20 +0200 urlutil: add a new `get_unique_push_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 11:57:20 +0200] rev 46940
urlutil: add a new `get_unique_push_path` This function is dedicated to call that needs a single destination. Currently most caller actually need that since few actually support multiple destinations (the most importants `hg push` and `hg outgoing` do). So having a clear API point for that will be important when the time comes to have a single `[paths]` alias resolving to multiple urls. Differential Revision: https://phab.mercurial-scm.org/D10407
Wed, 14 Apr 2021 11:38:10 +0200 fetch: use `get_unique_pull_path` to retrieve the path
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 11:38:10 +0200] rev 46939
fetch: use `get_unique_pull_path` to retrieve the path The fetch command does not support multiple destination, so we use the new dedicated API for that. Differential Revision: https://phab.mercurial-scm.org/D10406
Wed, 14 Apr 2021 11:30:49 +0200 patchbomb: use `get_unique_pull_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 11:30:49 +0200] rev 46938
patchbomb: use `get_unique_pull_path` The patchbomb code does not support multiple destinations yet. It would not be too hard to implemented since `hg outgoing` does. However that is a bit too much of a detour right now. In addition that kind of "select outgoing changesets for processing" code exist for various commands so the best would be to factor it out later. Let us use the dedicated API until this is solved. This comes with a small output change in the test that I find more accurate. So I kept it. Differential Revision: https://phab.mercurial-scm.org/D10405
Wed, 14 Apr 2021 11:18:48 +0200 narrow: use `get_unique_pull_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 11:18:48 +0200] rev 46937
narrow: use `get_unique_pull_path` The narrow's `tracked` command does not support multiple destination, lets use the dedicated API then. Differential Revision: https://phab.mercurial-scm.org/D10404
Wed, 14 Apr 2021 11:15:54 +0200 urlutil: add a new `get_unique_pull_path`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 11:15:54 +0200] rev 46936
urlutil: add a new `get_unique_pull_path` This function is dedicated to call that needs a single destination. Currently most caller actually need that since few actually support multiple destinations (the most importants `hg push` and `hg outgoing` do). So having a clear API point for that will be important when the time comes to have a single `[paths]` alias resolving to multiple urls. Differential Revision: https://phab.mercurial-scm.org/D10403
Wed, 14 Apr 2021 10:51:31 +0200 mq: use the new `get_clone_path` to get the remote url
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 10:51:31 +0200] rev 46935
mq: use the new `get_clone_path` to get the remote url We stop using `ui.expandpath` to use a function with a more defined semantic. This will help us to make it an option to point [paths] entry to multiple destination. Differential Revision: https://phab.mercurial-scm.org/D10402
Wed, 14 Apr 2021 10:35:40 +0200 urlutil: add a `get_clone_path` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 10:35:40 +0200] rev 46934
urlutil: add a `get_clone_path` function We add a new function with a semantic focussed on `clone` operation (so without an existing repository). I am not certain the return type is the best, but this is what we need for now. Once all caller are migrated we might start thinking about that the API should be. For now that will do. Differential Revision: https://phab.mercurial-scm.org/D10401
Sun, 11 Apr 2021 19:18:54 +0200 outgoing: use `get_push_paths` in the revset too
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Apr 2021 19:18:54 +0200] rev 46933
outgoing: use `get_push_paths` in the revset too The revsets now use the same code as everyone and is ready for entry in `[paths]` pointing to multiple entries. Differential Revision: https://phab.mercurial-scm.org/D10393
Wed, 14 Apr 2021 02:14:15 +0200 incoming: use `urlutil.get_pull_paths`
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 02:14:15 +0200] rev 46932
incoming: use `urlutil.get_pull_paths` Lets use the new method to increase code reuse. However I did not implement support for multiple source yet. It would be possible create multiple temporary bundle, but that is a bit too much work outside of my current route to make the detour. Differential Revision: https://phab.mercurial-scm.org/D10392
Wed, 14 Apr 2021 01:26:44 +0200 outgoing: accept multiple destinations
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 01:26:44 +0200] rev 46931
outgoing: accept multiple destinations This align the behavior of `hg outgoing` with the one of `hg incoming`. In addition this prepare the introduction of having simple `path` resolve to multiple destination in practice (eg: `default`) Differential Revision: https://phab.mercurial-scm.org/D10391
Thu, 15 Apr 2021 09:23:28 +0200 outgoing: pass subrepo path using function argument instead of abssource hack
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 09:23:28 +0200] rev 46930
outgoing: pass subrepo path using function argument instead of abssource hack This is clearer, remove the needs for the `repo._subtoppath` hack and will make our live easier when making `outgoing` accept multiple destinations. Differential Revision: https://phab.mercurial-scm.org/D10390
Thu, 15 Apr 2021 09:23:19 +0200 subrepo: introduce a `repo_rel_or_abs_source` function
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 15 Apr 2021 09:23:19 +0200] rev 46929
subrepo: introduce a `repo_rel_or_abs_source` function The `subrepoutil` module has various function to compute the path of a sub-repository compared to the root of the top repository. However, they was no function available to compute the relative path of the repository "source". And we need this information for exchange operation (in our case, `hg outgoing`). The information is currently build using the `repo._subtoppath` hack. We reuse the same logic but in a dedicated function independent of the `repo._subtoppath` hack. Differential Revision: https://phab.mercurial-scm.org/D10434
Wed, 14 Apr 2021 22:50:41 -0400 urlutil: use bytes for Abort messages
Matt Harbison <matt_harbison@yahoo.com> [Wed, 14 Apr 2021 22:50:41 -0400] rev 46928
urlutil: use bytes for Abort messages Caught by pytype. Also fix a minor grammar issue in the second message. Differential Revision: https://phab.mercurial-scm.org/D10433
Thu, 08 Apr 2021 16:41:13 +0200 changegroup: update comment
Raphaël Gomès <rgomes@octobus.net> [Thu, 08 Apr 2021 16:41:13 +0200] rev 46927
changegroup: update comment Gratuitous fix, I stumbled upon this comment while reading code. Differential Revision: https://phab.mercurial-scm.org/D10339
Mon, 12 Apr 2021 23:31:54 -0400 re2: adjust local variable assignment scope
Matt Harbison <matt_harbison@yahoo.com> [Mon, 12 Apr 2021 23:31:54 -0400] rev 46926
re2: adjust local variable assignment scope Pytype flagged the exception handler where these are used as `[name-error]`, and PyCharm complained they may be used before assignment. Differential Revision: https://phab.mercurial-scm.org/D10376
Sat, 13 Mar 2021 09:50:34 +0100 rhg: Make `files` work on repo-relative paths when possible
Simon Sapin <simon.sapin@octobus.net> [Sat, 13 Mar 2021 09:50:34 +0100] rev 46925
rhg: Make `files` work on repo-relative paths when possible When the current directory is outside of the repository we need to turn everything into absolute filesystem paths in order to compute correct relative paths. This was previously done unconditionally, but is not necessary when the current directory is inside the repository. With this change `rhg files > /dev/null` at the root of a mozilla-central snapshot goes from ~150 ms to ~70 ms. My repository is located at a somewhat long path though (93 bytes). The effect may not be as pronounced at a shorter path. Differential Revision: https://phab.mercurial-scm.org/D10200
Mon, 12 Apr 2021 19:25:34 -0700 split: avoid strip if split is a no-op (identical to original)
Kyle Lippincott <spectral@google.com> [Mon, 12 Apr 2021 19:25:34 -0700] rev 46924
split: avoid strip if split is a no-op (identical to original) Differential Revision: https://phab.mercurial-scm.org/D10389
Mon, 12 Apr 2021 17:52:46 -0700 split: fix issue with empty splits adjusting phases
Kyle Lippincott <spectral@google.com> [Mon, 12 Apr 2021 17:52:46 -0700] rev 46923
split: fix issue with empty splits adjusting phases Differential Revision: https://phab.mercurial-scm.org/D10388
Mon, 12 Apr 2021 17:51:56 -0700 split: add test demonstrating issue with empty splits adjusting phases
Kyle Lippincott <spectral@google.com> [Mon, 12 Apr 2021 17:51:56 -0700] rev 46922
split: add test demonstrating issue with empty splits adjusting phases Differential Revision: https://phab.mercurial-scm.org/D10387
Wed, 14 Apr 2021 16:09:12 +0200 test-lfs: fix expected output
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 16:09:12 +0200] rev 46921
test-lfs: fix expected output This is not covered by the CI and was broken. Differential Revision: https://phab.mercurial-scm.org/D10397
Wed, 14 Apr 2021 15:56:21 +0200 test-lfs: avoid a bashism when spawning the server
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 15:56:21 +0200] rev 46920
test-lfs: avoid a bashism when spawning the server For zsh, this &> call is read as "& >", this spin the process without redirection. As a result the server grab stdout, which does not get closed at the end of the test. As a result `run-tests.py` hang there forever, waiting for the the stream for be close. (which is probably as issue on its own). Differential Revision: https://phab.mercurial-scm.org/D10396
Wed, 14 Apr 2021 15:54:32 +0200 test-lfs: avoid pagination
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 15:54:32 +0200] rev 46919
test-lfs: avoid pagination Otherwise, the pagination can trigger in when running the test with --debug, blocking the test execution for no good reason. Differential Revision: https://phab.mercurial-scm.org/D10395
Wed, 14 Apr 2021 15:53:43 +0200 run-test: make it clearer why we terminating process
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 14 Apr 2021 15:53:43 +0200] rev 46918
run-test: make it clearer why we terminating process The --verbose log wer only talking about process termination. Now we have more information about why. Differential Revision: https://phab.mercurial-scm.org/D10394
Tue, 13 Apr 2021 15:30:32 +0200 push-dests: move the code around missing default dest inside `get_push_paths`
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Apr 2021 15:30:32 +0200] rev 46917
push-dests: move the code around missing default dest inside `get_push_paths` This function has a clear semantic and moving the code dealing with this inside it will help reduce duplication. Differential Revision: https://phab.mercurial-scm.org/D10385
Tue, 13 Apr 2021 15:32:59 +0200 push-dests: rework the handling of default value
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Apr 2021 15:32:59 +0200] rev 46916
push-dests: rework the handling of default value This new core is more straightforward and doing this early will make the next changeset simpler. Differential Revision: https://phab.mercurial-scm.org/D10384
Sun, 11 Apr 2021 20:00:46 +0200 outgoing: merge the code handling --graph with the main one
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Apr 2021 20:00:46 +0200] rev 46915
outgoing: merge the code handling --graph with the main one The --graph code had its own copy of the logic. With the previous reorganisation of the code, we can now merge it with the main code, reducing fragile complication. As a side effect, `hg out --graph` now use the right return code when they are nothing outgoing. This explain the change to output in `tests/test-largefiles-misc.t`. Differential Revision: https://phab.mercurial-scm.org/D10383
Tue, 13 Apr 2021 15:13:20 +0200 outgoing: move filtering logic in its own function
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 13 Apr 2021 15:13:20 +0200] rev 46914
outgoing: move filtering logic in its own function This move code dedicated to a single purpose together and make the main code simpler. Right when we are getting ready to make it more complex :-D Differential Revision: https://phab.mercurial-scm.org/D10382
Sun, 11 Apr 2021 19:31:03 +0200 outgoing: make `recurse` a real function
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 11 Apr 2021 19:31:03 +0200] rev 46913
outgoing: make `recurse` a real function If we want to use this in a loop, we need to be able to pass argument. Differential Revision: https://phab.mercurial-scm.org/D10381
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip