Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:00:56 +0200] rev 50912
largefile: use sysstr to check for attribute presence in `getstatuswriter`
We do not need bytes here.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 30 Aug 2023 12:24:12 +0200] rev 50911
run-tests: detect HGWITHRUSTEXT value
Without this, some manual check in tests/test-dirstate.t could get confused by
the lack of `rust` in module policy and break the test.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 29 Aug 2023 22:13:18 +0200] rev 50910
convert: stabilize subversion date sorter
In case of tie, this provides unstable result on my system. So I am adding a
couple of tie breaker to fix the test.
Spencer Baugh <sbaugh@janestreet.com> [Thu, 31 Aug 2023 19:47:33 -0400] rev 50909
rhg: allow setting defaults.cmd to an empty string
This is used by at least one hg UI to prevent defaults from affecting
the command:
https://github.com/emacs-mirror/emacs/blob/b71beb7ae7c60a5c5af608420d28fdda5265a264/lisp/vc/vc-hg.el#L245
Let's let it work.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:19:33 -0400] rev 50908
uncommit: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:16:38 -0400] rev 50907
split: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:09:33 -0400] rev 50906
releasenotes: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:05:52 -0400] rev 50905
narrow: hoist a variable to a higher level to avoid use-before-init warning
In practice, this shouldn't generate an IOError, so there wouldn't have been a
problem. But PyCharm didn't know that.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 17:04:17 -0400] rev 50904
narrow: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:51:49 -0400] rev 50903
largefiles: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:43:41 -0400] rev 50902
keyword: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:20:56 -0400] rev 50901
gpg: use a context manager to write `.hgsigs`
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:19:41 -0400] rev 50900
gpg: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:10:22 -0400] rev 50899
fetch: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 16:06:08 -0400] rev 50898
fastexport: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 Aug 2023 09:50:31 -0400] rev 50897
closehead: wrap transaction handling in a context manager
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:38:35 -0400] rev 50896
closehead: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:34:11 -0400] rev 50895
churn: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:30:39 -0400] rev 50894
children: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:24:58 -0400] rev 50893
automv: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 15:16:18 -0400] rev 50892
absorb: migrate `opts` to native kwargs
Spencer Baugh <sbaugh@janestreet.com> [Thu, 17 Aug 2023 15:53:32 -0400] rev 50891
rhg: support rhg files [FILE]
This comes mostly for free after the rhg status [FILE] implementation.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:46:47 -0400] rev 50890
rhg: support "status FILE"
This change adds a new [file] argument to rhg status, parses them as
patterns, canonicalizes the paths, and constructs a new PatternMatcher
to intersect with the existing matcher being passed to the status
implementation.
We also make filepatterns a public module so we can access the
pattern-parsing functionality we need from commands/status.rs.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:16:33 -0400] rev 50889
rust-matchers: add PatternMatcher
This should match the behavior of the Python patternmatcher. We need
this for status [FILES] support.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:33:11 -0400] rev 50888
rust-status: only visit parts of the tree requested by the matcher
This is an optimization that the matcher is designed to support, but
we weren't doing it until now. This is primarily relevant for
supporting "hg status [FILES]", where this optimization is crucial for
getting good performance (without this optimization, that command will
still scan the entire tree, and just filter it down after the fact).
When this optimization fires we have to return false from
traverse_fs_directory_and_dirstate, representing that that part of the
tree *might* have new files which we didn't see because we skipped
parts of it. This only affects the cached result of the status, and
is necessary to make future status operations (which might use a
different matcher) work properly.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:21:18 -0400] rev 50887
rust-status: error on non-existent files in file_set
file_set here consists of the files that were explicitly specified on
the command line. Erroring on them matches the behavior of Python
status.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:07:00 -0400] rev 50886
rust-status: explicitly track bad file types
Before this, we silently skipped bad file types.
Now, we check to see if a path is an exact_match in our matcher, and
if so, print an error for it, and only then do we skip it.
A path will be an exact match when it's specified as an explicit
command line argument, and this error-printing behavior is necessary
for compatibility with Python status.
Spencer Baugh <sbaugh@janestreet.com> [Mon, 14 Aug 2023 09:25:36 -0400] rev 50885
rust: de-hardcode glob_suffix
We're adding patternmatcher in a subsequent commit, and this needs
needs to be different for includematcher and patternmatcher.