Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:07:00 -0400] rev 50862
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 50861
rust: de-hardcode glob_suffix
We're adding patternmatcher in a subsequent commit, and this needs
needs to be different for includematcher and patternmatcher.
Spencer Baugh <sbaugh@janestreet.com> [Tue, 08 Aug 2023 11:50:26 -0400] rev 50860
rust: improve the type on DirsMultiset::from_manifest
It could only return an HgPathError, but we didn't express this in the
type, so we needed some unreachable!()s. Now that is expressed in the
type.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 09:59:49 -0400] rev 50859
rust: don't escape spaces in regex
Spaces are not in fact a regex special character, and escaping them is
not correct.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 10:09:23 -0400] rev 50858
rust-filepatterns: also normalize RelPath
These patterns should be normalized too; this at least does no harm,
and is necessary for proper status support.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 09 Aug 2023 18:08:28 -0400] rev 50857
rust: simplify pattern file parsing
Previously we kept the pattern syntax as a &[u8] until the last
possible moment, which meant we had to handle potential errors when
parsing that &[u8]. But such errors could never actually occur, given
the structure of the code.
Now we parse it eagerly (in two places) and pass it around as a
PatternSyntax, so we can delete some error handling code.
parse_one_pattern is in particular useful for parsing patterns passed
on the command line, as we'll support later in this series.
Spencer Baugh <sbaugh@janestreet.com> [Wed, 02 Aug 2023 09:57:29 -0400] rev 50856
rust-matchers: better support file_set in IntersectionMatcher
Previously, if both of the input matchers had non-exact file sets,
IntersectionMatcher would simply have an empty fileset.
Now, we duplicate Python behavior: we *union* the filesets of the
matchers in that case. This makes some sense, because without exact
input file sets, we can't do an exact intersection and must
over-approximate.
Concretely, this is necessary because the file_set is the list of
files that were explicitly listed by the user, and we want to provide
explicit errors for all such files, from both matchers.
Raphaël Gomès <rgomes@octobus.net> [Mon, 21 Aug 2023 10:00:08 +0200] rev 50855
branching: merge stable into default
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:17:38 -0400] rev 50854
version: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:16:41 -0400] rev 50853
verify: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:14:57 -0400] rev 50852
tags: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:13:50 -0400] rev 50851
tag: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:10:51 -0400] rev 50850
summary: migrate `opts` to native kwargs
This has the added benefit of unconfusing PyCharm- it thought `opts` in the
nested functions were str based for some reason.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 02:01:37 -0400] rev 50849
revert: migrate `opts` to native kwargs
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:56:23 -0400] rev 50848
rename: drop an unnecessary variable declaration at a wider scope
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 Aug 2023 01:54:59 -0400] rev 50847
rename: migrate `opts` to native kwargs