Mercurial > public > mercurial-scm > hg
diff rust/hg-core/src/sparse.rs @ 50854:796b5d6693a4
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.
author | Spencer Baugh <sbaugh@janestreet.com> |
---|---|
date | Wed, 09 Aug 2023 18:08:28 -0400 |
parents | 28c0fcff24e5 |
children | ae1ab6d71f4a |
line wrap: on
line diff
--- a/rust/hg-core/src/sparse.rs Wed Aug 02 09:57:29 2023 -0400 +++ b/rust/hg-core/src/sparse.rs Wed Aug 09 18:08:28 2023 -0400 @@ -282,7 +282,8 @@ let (patterns, subwarnings) = parse_pattern_file_contents( &config.includes, Path::new(""), - Some(b"glob:".as_ref()), + Some(PatternSyntax::Glob), + false, false, )?; warnings.extend(subwarnings.into_iter().map(From::from)); @@ -292,7 +293,8 @@ let (patterns, subwarnings) = parse_pattern_file_contents( &config.excludes, Path::new(""), - Some(b"glob:".as_ref()), + Some(PatternSyntax::Glob), + false, false, )?; warnings.extend(subwarnings.into_iter().map(From::from));