# HG changeset patch
# User Raphaël Gomès <rgomes@octobus.net>
# Date 1654764327 -7200
#      Thu Jun 09 10:45:27 2022 +0200
# Node ID 44319aa4a2a41e316b64a4cc0a9a79fbccec0596
# Parent  4f04bb0d8debc58a848a07dcbd1abf775ed252fa
hg-cpython: fallback when encountering an unknown matcher

At this point in the process, nothing user-visible has happened, it is still
safe to fallback. This can happen now that we're going to be using
"container matchers" like unionmatcher and intersectionmatcher.

This is easier and less error-prone than recursive checking beforehand since
only the presence of a transformation case will allow the process to continue.

diff --git a/rust/hg-cpython/src/dirstate/status.rs b/rust/hg-cpython/src/dirstate/status.rs
--- a/rust/hg-cpython/src/dirstate/status.rs
+++ b/rust/hg-cpython/src/dirstate/status.rs
@@ -236,7 +236,7 @@
                 after_status,
             )
         }
-        e => Err(PyErr::new::<ValueError, _>(
+        e => Err(PyErr::new::<FallbackError, _>(
             py,
             format!("Unsupported matcher {}", e),
         )),