Martin von Zweigbergk <martinvonz@google.com> [Thu, 04 Feb 2021 13:21:01 -0800] rev 46549
diff: extract function for getting possibly re-merged parent to diff against
We'll want to reuse the logic that `hg diff --change` with
`diff.merge` uses. At least `hg log -p` should reuse it. This patch
therefore extracts that code to a function.
Differential Revision: https://phab.mercurial-scm.org/D9957
Martin von Zweigbergk <martinvonz@google.com> [Thu, 04 Feb 2021 13:05:51 -0800] rev 46548
diff: replace --merge option by config option
I can't think of any reason you'd want to enable the merge diff on a
run-to-run basis; you'd probably either always or never want it set
(though I can't see why you'd never want it set). If you have it set,
you'll probably also want the same output in `hg log -p`
output. Having a single config option for the feature makes sense.
Differential Revision: https://phab.mercurial-scm.org/D9956
Matt Harbison <matt_harbison@yahoo.com> [Thu, 24 Dec 2020 11:21:23 -0500] rev 46547
tagcache: distinguish between invalid and missing entries
The TortoiseHg repo has typically not had a newly applied tag accessible by name
for recent releases, for unknown reasons. Deleting and rebuilding the tag cache
doesn't fix it, though deleting the cache and running `hg log -r $new_tag` does.
Eventually the situation does sort itself out for new clones from the server.
In an effort to figure out what the issue is, Pierre-Yves David suggested
listing these entries in the debug output more specifically.
This isn't complete yet- the second test change that says "missing" is more like
"invalid", since it was truncated. The problem there is the code that reads the
raw array truncates any partial records and then fills it with 0xFF, which
signifies that it is missing. As a side note, that means the check for the
length when validating an existing entry never fails.
Differential Revision: https://phab.mercurial-scm.org/D9811
Martin von Zweigbergk <martinvonz@google.com> [Thu, 11 Feb 2021 20:36:46 -0800] rev 46546
branching: merge with stable
Simon Sapin <simon.sapin@octobus.net> [Thu, 04 Feb 2021 15:04:53 +0100] rev 46545
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 46544
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 46543
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 46542
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 46541
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 46540
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 46539
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 46538
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 46537
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 46536
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 46535
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
Augie Fackler <augie@google.com> [Tue, 02 Feb 2021 13:25:28 -0500] rev 46534
branching: merge with stable
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 01 Feb 2021 00:02:00 +0530] rev 46533
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 46532
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 46531
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 46530
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 46529
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 46528
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 46527
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 46526
errors: use InputError in uncommit extension
Differential Revision: https://phab.mercurial-scm.org/D9911
Simon Sapin <simon.sapin@octobus.net> [Mon, 01 Feb 2021 11:41:10 +0100] rev 46525
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 46524
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 46523
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 46522
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
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 02 Feb 2021 15:35:58 +0100] rev 46521
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 46520
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