Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Nov 2019 16:48:34 +0100] rev 43830
logcmdutil: call _exthook() in changesettemplater
Class changesetprinter has an _exthook() method that is called in
_show() before the patch is displayed. Call the method as well in
changesettemplater._show().
Differential Revision: https://phab.mercurial-scm.org/D7505
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 21 Nov 2019 18:10:12 +0100] rev 43829
phabricator: fix processing of tags/desc in getoldnodedrevmap()
It seems that the previous logic was wrong (it essentially comes
from changeset
3ab0d5767b54 where the result got accumulated instead of
early returned).
First of all, the "continue" in first "if m:" is useless because we're
at the end of the loop. Then, the algorithm seems weird because we will
process all predecessors of a node and possibly override
`toconfirm[node]` for each of these having a tag (maybe this doesn't
happen, but still). Finally, we would also override `toconfirm[node]`
when the "Differential Revision: " is found in changeset description.
Maybe this is not a big deal when there is no mix of local tag and
changeset description update?
The logic is changed so that the loop on predecessors stops upon first
match of a tag and so that the changeset description is only checked if
no tag was found. Therefore, `toconfirm[node]` is only set once.
Differential Revision: https://phab.mercurial-scm.org/D7513
Augie Fackler <augie@google.com> [Tue, 10 Dec 2019 10:31:18 -0500] rev 43828
tests: replace [[]] bashism with portable [] invocation
In this case nothing fancy is required.
Differential Revision: https://phab.mercurial-scm.org/D7596
Raphaël Gomès <rgomes@octobus.net> [Fri, 29 Nov 2019 17:15:24 +0100] rev 43827
rust-hg-path: implement `Display` for `HgPath` and `HgPathBuf`
This is useful when debugging, to get a human readable output instead of an
array of `u8`.
Differential Revision: https://phab.mercurial-scm.org/D7523
Raphaël Gomès <rgomes@octobus.net> [Mon, 14 Oct 2019 13:57:30 +0200] rev 43826
rust-performance: introduce FastHashMap type alias for HashMap
Rust's default hashing is slow, because it is meant for preventing collision
attacks.
For all of the current Rust code, we don't care about those attacks, because
if an person with bad intentions has write access to your repo, you have other
issues.
I've chosen to use the TwoXHash crate because it was made by a reputable member
of the Rust community and has very good benchmarks.
For now it does not seem to improve performance by much for the current code,
but it's something else to not worry about when benchmarking code: in a
previous experiment with copytracing in Rust, it accounted for more than 10%
of the time of the entire script.
Differential Revision: https://phab.mercurial-scm.org/D7116
Julien Cristau <jcristau@debian.org> [Mon, 02 Dec 2019 14:44:26 +0100] rev 43825
mail: use procutil.shellsplit instead of bytes.split to parse command
Differential Revision: https://phab.mercurial-scm.org/D7541
Augie Fackler <augie@google.com> [Thu, 05 Dec 2019 16:18:44 -0500] rev 43824
annotate: describe --skip as taking a revset
It's obvious to me, but probably wouldn't be obvious to a novice user.
Differential Revision: https://phab.mercurial-scm.org/D7557
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 05 Dec 2019 17:42:38 -0800] rev 43823
automation: use latest Windows AMI as base
It looks like the previous base image no longer exists. I guess
Amazon expires them or something. Let's switch to the newest version
of the equivalent image.
Differential Revision: https://phab.mercurial-scm.org/D7571
Matt Harbison <matt_harbison@yahoo.com> [Fri, 06 Dec 2019 23:49:03 -0500] rev 43822
tests: stabilize test-extdiff.t on Windows
This goes with
765a9c299c44. I'm not sure if we care about the missing file
being spelled `nul`, so I removed it from the glob to be explicit about it. The
line needed to be special cased anyway because of the quoting on Windows.
Differential Revision: https://phab.mercurial-scm.org/D7572
Matt Harbison <matt_harbison@yahoo.com> [Sat, 07 Dec 2019 22:09:43 -0500] rev 43821
exchange: fix an attempt to format a list into bytes
This goes with
27c6d6f53d46.
Differential Revision: https://phab.mercurial-scm.org/D7583
Martin von Zweigbergk <martinvonz@google.com> [Mon, 09 Dec 2019 09:50:39 -0800] rev 43820
status: remove pointless filtering by alwaysmatcher in morestatus
The code has been like this since it was imported from FB's
hg-experimental repo. It has been like that even since it was added in
that repo. So I don't know why it looks that way. Perhaps the idea was
to one day filter the unresolved paths by any patterns provided by the
user. We can add a matcher back if we ever decide to do that.
Differential Revision: https://phab.mercurial-scm.org/D7591
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 07 Dec 2019 13:07:25 -0800] rev 43819
tests: add test for Rust formatting
We enforce formatting for Python and C. It makes sense to do it
for Rust as well.
Since our rustfmt.toml relies on unstable rustfmt features, we
need to use a Nightly rustfmt with --unstable-features in order
for it to work. This is a bit hacky and I would prefer we remove
this requirement. But for now, this commit assumes this is the
way things must be and we go out of our way to detect and use the
rustfmt from the "nightly" toolchain, as installed via rustup.
We had to add some environment variables to the tests to make
the Rust binaries happy. Otherwise when running rustfmt we get
an error about no default toolchain being installed.
Differential Revision: https://phab.mercurial-scm.org/D7579