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));