Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 19:23:56 +0100] rev 46487
tweak-default: no longer enable the experimental return code
The change is quite new and undocumented (since it is experimental) so it seems
premature to make it available in tweak default. In addition, I am not sure the
new return code are frozen yet (eg: some of the initial feedback have not been
incorporated). Before the release I doubled check (probably with Martin) that
they were not enabled by default and got replied that they were only enabled in
the tests. Have I been aware that they have been also enabled in tweak default I
would I have lobbied to delay that.
I discovered they were in tweak default from users feedback. They found it an
unpleasant and unexpected surprise of 5.7.
So I suggest we no enable enable this experimental feature for Mercurial 5.7 and
revisit this later, when the feature will be more mature.
Differential Revision: https://phab.mercurial-scm.org/D9975
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Feb 2021 15:04:53 +0100] rev 46486
rhg: Parse per-repository configuration
Differential Revision: https://phab.mercurial-scm.org/D9964
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Feb 2021 14:29:47 +0100] rev 46485
rhg: Abort based on config on share-safe mismatch
Differential Revision: https://phab.mercurial-scm.org/D9963
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Feb 2021 13:17:55 +0100] rev 46484
rhg: Parse system and user configuration at program start
… and pass it around up to `Repo::find`
Differential Revision: https://phab.mercurial-scm.org/D9962
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Feb 2021 13:16:21 +0100] rev 46483
rust: Parse system and user configuration
CLI `--config` argument parsing is still missing, as is per-repo config
Differential Revision: https://phab.mercurial-scm.org/D9961
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 13:32:00 +0100] rev 46482
rust: Remove unnecessary check for absolute path before joining
`Path::join` does the right thing if its argument is absolute.
Differential Revision: https://phab.mercurial-scm.org/D9960
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 12:25:53 +0100] rev 46481
rust: replace read_whole_file with std::fs::read
It does the same thing
Differential Revision: https://phab.mercurial-scm.org/D9959
Martin von Zweigbergk <martinvonz@google.com> [Tue, 09 Feb 2021 09:37:39 -0800] rev 46480
wireprotopeer: clarify some variable names now that we allow snake_case
"encargsorres" is hard to parse ("encarg sorres" sounds like it might
be Spanish to me, and indeed Google Translate tells me that it's
Catalan for "order sands"). Let's clarify with some added underscores
and longer names.
Differential Revision: https://phab.mercurial-scm.org/D9973
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Feb 2021 07:02:25 +0100] rev 46479
copy-tracing: add a --compute flag to debugchangedfiles
This will help analysis of possible misbehaving cases.
Differential Revision: https://phab.mercurial-scm.org/D9946
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Feb 2021 23:23:56 -0800] rev 46478
bundle2: print "error:abort" message to stderr instead of stdout
It seems like the server's message is something you'd like to see even
with `--quiet`. It's clearly part of the error.
Differential Revision: https://phab.mercurial-scm.org/D9954
Martin von Zweigbergk <martinvonz@google.com> [Wed, 03 Feb 2021 13:55:58 -0800] rev 46477
narrow: add --no-backup option for narrowing
Most of our users at Google use Mercurial on a file system that keeps
backups of previous versions of all files, including those in
`.hg/`. They therefore don't need a separate backup in the file system
when narrowing their repo (which they typically do by running `hg
tracked --auto-remove-includes`). Backups can be very slow. `hg strip`
already has a `--no-backup` option. This patch adds the same option to
`hg tracked --removeinclude/--addexclude`.
Differential Revision: https://phab.mercurial-scm.org/D9951
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 29 Jan 2021 15:23:07 +0100] rev 46476
debugdiscovery: add flags to run discovery on subsets of the local repo
Generating new repository using strip of local clone is very expensive for large
repositories. And such large repository are the most likely to requires
debugging around discovery. So we add a simple way to run discovery using
provided sets of heads.
Differential Revision: https://phab.mercurial-scm.org/D9945
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 10 Feb 2021 00:11:46 +0100] rev 46475
cmdutil: add a missing byte prefix to string introduce in
976b26bdd0d8
The change is missing a the `b'foo'` prefix to make it a bytestring. This lead
to a traceback in some third party extension. It is unclear to me why the
Mercurial test pass without it.
Differential Revision: https://phab.mercurial-scm.org/D9974
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 18 Jan 2021 10:20:58 +0100] rev 46474
relnote: remove the reference to `debugstrip`
The `debug` namespace is not intended for end user and advertising it is a path
to confusion and trouble. I think we should wait for the `admin` namespace to
exists and the command to be available as `admin--strip` before we advertise it.
Differential Revision: https://phab.mercurial-scm.org/D9817
Augie Fackler <augie@google.com> [Tue, 02 Feb 2021 13:25:28 -0500] rev 46473
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 01 Feb 2021 00:02:00 +0530] rev 46472
upgrade: implement partial upgrade for upgrading persistent-nodemap
Upgrading repositories to use persistent nodemap should be fast and easy as it
requires only two things:
1) Updating the requirements
2) Writing a persistent-nodemap on disk
For both of the steps above, we don't need to edit existing revlogs.
This patch makes upgrade only do the above mentioned two steps if we are
only upgarding to use persistent-nodemap feature.
Since `nodemap.persist_nodemap()` assumes that there exists a nodemap file for
the given revlog if we are trying to call it, this patch adds `force` argument
to create a file if does not exist which is true in our upgrade case.
The test changes demonstrate that we no longer write nodemap files for manifest
after upgrade which I think is desirable.
Differential Revision: https://phab.mercurial-scm.org/D9936
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 01 Feb 2021 00:10:27 +0530] rev 46471
tests: unquiet a test to show changes in next patch
Differential Revision: https://phab.mercurial-scm.org/D9935
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 31 Jan 2021 23:40:57 +0530] rev 46470
nodemap: fix a typo in error message
Differential Revision: https://phab.mercurial-scm.org/D9934
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 31 Jan 2021 23:38:31 +0530] rev 46469
revlog: refactor logic to compute nodemap file in separate function
I will like to use it one more place.
Differential Revision: https://phab.mercurial-scm.org/D9933
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 31 Jan 2021 23:34:59 +0530] rev 46468
nodemap: make `_persist_nodemap` a public function
I will like to have a utility function using which we can directly write out
nodemap for a repository without going through the recloning process. This
function seems like the one containing important pieces for that. Let's make it
public.
Differential Revision: https://phab.mercurial-scm.org/D9932
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 31 Jan 2021 23:13:08 +0530] rev 46467
engine: 'if not, else' -> 'if, else'
I personally feel that
```
if x:
pass
else:
pass
```
is easier to read and edit than
```
if not x:
pass
else:
pass
```
Next patches will add one more if-else clause.
Differential Revision: https://phab.mercurial-scm.org/D9931
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 25 Jan 2021 14:23:47 +0530] rev 46466
debugcommands: s/stdin/stdout in debugnodemap help
Differential Revision: https://phab.mercurial-scm.org/D9930
Martin von Zweigbergk <martinvonz@google.com> [Fri, 29 Jan 2021 15:51:00 -0800] rev 46465
errors: use InputError in uncommit extension
Differential Revision: https://phab.mercurial-scm.org/D9911
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 04 Feb 2021 16:59:46 -0500] rev 46464
largefiles: properly pass kwargs into url.open
The url.open function has acquired a lot of kwargs over the years.
When running `hg import http://example.com/hg/diff/1`, since at least
a708e1e4d7a8 in March, 2018, the calling sites for url.open try to
pass a `sendaccept` parameter that largefiles' override doesn't accept.
Currently that stack traces something like this:
Traceback (most recent call last):
File "/tmp/hgtests.sv744r5t/install/bin/hg", line 59, in <module>
dispatch.run()
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 143, in run
status = dispatch(req)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 245, in dispatch
status = _rundispatch(req)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 289, in _rundispatch
ret = _runcatch(req) or 0
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 465, in _runcatch
return _callcatch(ui, _runcatchfunc)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 475, in _callcatch
return scmutil.callcatch(ui, func)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/scmutil.py", line 155, in callcatch
return func()
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 455, in _runcatchfunc
return _dispatch(req)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1259, in _dispatch
lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 913, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1270, in _runcommand
return cmdfunc()
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/dispatch.py", line 1256, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/util.py", line 1867, in check
return func(*args, **kwargs)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/commands.py", line 4184, in import_
patchfile = hg.openpath(ui, patchurl, sendaccept=False)
File "/tmp/hgtests.sv744r5t/install/lib/python/mercurial/hg.py", line 181, in openpath
return url.open(ui, path, sendaccept=sendaccept)
TypeError: openlargefile() got an unexpected keyword argument 'sendaccept'
So, just accept and pass along any kwargs of the overridden function.
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 11:41:10 +0100] rev 46463
rhg: add support for share-safe
Differential Revision: https://phab.mercurial-scm.org/D9942
Simon Sapin <simon.sapin@octobus.net> [Thu, 14 Jan 2021 13:04:12 +0100] rev 46462
rhg: initial support for shared repositories
Differential Revision: https://phab.mercurial-scm.org/D9941
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 19:30:28 +0100] rev 46461
rhg: Add basic test with a shared repository
Differential Revision: https://phab.mercurial-scm.org/D9940
Matt Harbison <matt_harbison@yahoo.com> [Tue, 02 Feb 2021 10:56:53 -0500] rev 46460
tests: print the server error log in `test-url-download.t`
There was a stray 500 error in CI, but no additional context to know what the
issue was.
https://foss.heptapod.net/octobus/mercurial-devel/-/jobs/163093
Differential Revision: https://phab.mercurial-scm.org/D9949
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Feb 2021 19:56:45 +0900] rev 46459
procutil: extend gui test to detect wayland session (
issue6479)
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 02 Feb 2021 23:44:44 +0530] rev 46458
Added signature for changeset
0e2e7300f430
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 02 Feb 2021 23:44:31 +0530] rev 46457
Added tag 5.7 for changeset
0e2e7300f430
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Feb 2021 15:35:58 +0100] rev 46456
ci-fix: backed out changeset
45afff0f530a
This changeset is part of a series that break Continuous integration on python 2
for about a week. As not concrete solution have been found so far the safer
seems to back it out until we can figure the details out.
Differential Revision: https://phab.mercurial-scm.org/D9948
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Feb 2021 15:35:38 +0100] rev 46455
ci-fix: backed out changeset
d4c8b4b90ecb
This changeset is part of a series that break Continuous integration on python 2
for about a week. As not concrete solution have been found so far the safer
seems to back it out until we can figure the details out.
Differential Revision: https://phab.mercurial-scm.org/D9947
Augie Fackler <augie@google.com> [Mon, 01 Feb 2021 17:13:24 -0500] rev 46454
relnotes: add entry for `hg diff --merge -c`
Differential Revision: https://phab.mercurial-scm.org/D9944
Martin von Zweigbergk <martinvonz@google.com> [Mon, 01 Feb 2021 12:55:53 -0800] rev 46453
branching: merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Fri, 29 Jan 2021 10:32:19 -0800] rev 46452
relnotes: copy "next" to "5.7" and clear "next"
The same procedure as every year^Wcycle.
Differential Revision: https://phab.mercurial-scm.org/D9909
Matt Harbison <matt_harbison@yahoo.com> [Mon, 01 Feb 2021 15:37:03 -0500] rev 46451
relnotes: elaborate on the side effects of hooks having HGPLAIN=1
Differential Revision: https://phab.mercurial-scm.org/D9943
Matt Harbison <matt_harbison@yahoo.com> [Sun, 31 Jan 2021 19:56:52 -0500] rev 46450
packaging: replace a documentation reference to `python3` on Windows
Sadly, there's not `python3.exe` on Windows.
Differential Revision: https://phab.mercurial-scm.org/D9937
Augie Fackler <augie@google.com> [Mon, 01 Feb 2021 11:57:18 -0500] rev 46449
diff: suppress `merging foo` output lines when performing a merge diff
Differential Revision: https://phab.mercurial-scm.org/D9939
Augie Fackler <augie@google.com> [Thu, 07 May 2020 16:50:26 -0400] rev 46448
diff: add experimental support for "merge diffs"
The way this works is it re-runs the merge and "stores" conflicts, and then
diffs against the conflicted result. In a normal merge, you should only see
diffs against conflicted regions or in cases where there was a semantic
conflict but not a textual one. This makes it easier to detect "evil merges"
that contain substantial new work embedded in the merge commit.
Differential Revision: https://phab.mercurial-scm.org/D8504
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 12:55:31 +0100] rev 46447
rust: use HgError in ConfigError
Differential Revision: https://phab.mercurial-scm.org/D9938
Simon Sapin <simon.sapin@octobus.net> [Thu, 28 Jan 2021 20:31:42 +0100] rev 46446
rust: Fold find_root and check_requirements into Repo::find
Differential Revision: https://phab.mercurial-scm.org/D9906
Simon Sapin <simon.sapin@octobus.net> [Thu, 28 Jan 2021 19:13:55 +0100] rev 46445
rhg: Simplify CommandError based on its use
Differential Revision: https://phab.mercurial-scm.org/D9905
Simon Sapin <simon.sapin@octobus.net> [Thu, 28 Jan 2021 19:21:57 +0100] rev 46444
rust: replace ToString impls with Display
ToString is automatically implementing for everything that implements
Display, and Display can avoid allocating intermediate strings.
Differential Revision: https://phab.mercurial-scm.org/D9904
Simon Sapin <simon.sapin@octobus.net> [Wed, 27 Jan 2021 14:45:25 +0100] rev 46443
rust: use HgError in RevlogError and Vfs
Differential Revision: https://phab.mercurial-scm.org/D9897
Simon Sapin <simon.sapin@octobus.net> [Wed, 27 Jan 2021 14:59:09 +0100] rev 46442
rust: replace RequirementsError with HgError
Differential Revision: https://phab.mercurial-scm.org/D9896
Simon Sapin <simon.sapin@octobus.net> [Wed, 27 Jan 2021 15:04:51 +0100] rev 46441
rhg: Print an error message in more cases
Differential Revision: https://phab.mercurial-scm.org/D9895
Simon Sapin <simon.sapin@octobus.net> [Wed, 27 Jan 2021 14:00:21 +0100] rev 46440
rust: Remove DirstateParseError and ListDirstateTrackedFilesError
Use HgError instead.
Differential Revision: https://phab.mercurial-scm.org/D9894