rust/hg-core/src/filepatterns.rs
branchstable
changeset 49605 b3480822a251
parent 49604 086b0c4f8663
child 49928 ccb6cfb0f2c0
--- a/rust/hg-core/src/filepatterns.rs	Wed Nov 16 16:38:42 2022 +0100
+++ b/rust/hg-core/src/filepatterns.rs	Wed Nov 16 15:39:10 2022 +0100
@@ -205,7 +205,14 @@
                         &b"(?"[..],
                         &pattern[s + 2..e - 1],
                         &b":"[..],
-                        &b".*"[..],
+                        if pattern[e] == b'^'
+                            || pattern[e] == b'*'
+                            || pattern[e..].starts_with(b".*")
+                        {
+                            &b""[..]
+                        } else {
+                            &b".*"[..]
+                        },
                         &pattern[e..],
                         &b")"[..],
                     ]
@@ -752,5 +759,14 @@
             .unwrap(),
             Some(b"(?ia:.*ba{2}r)".to_vec()),
         );
+        assert_eq!(
+            build_single_regex(&IgnorePattern::new(
+                PatternSyntax::RelRegexp,
+                b"(?ia)^ba{2}r",
+                Path::new("")
+            ))
+            .unwrap(),
+            Some(b"(?ia:^ba{2}r)".to_vec()),
+        );
     }
 }