# HG changeset patch # User Raphaël Gomès # Date 1673282934 -3600 # Node ID c8ef85ace21617496fdfc5667c644105567b6d27 # Parent 58074252db3c5d36f5674db9861bbbbeeb1fce36 rust-narrow: fix loop that never loops This was caught by `clippy`. I guess the narrow tests leave something to be desired, since this previously only checked the first valid pattern. diff -r 58074252db3c -r c8ef85ace216 rust/hg-core/src/narrow.rs --- a/rust/hg-core/src/narrow.rs Mon Jan 09 17:40:03 2023 +0100 +++ b/rust/hg-core/src/narrow.rs Mon Jan 09 17:48:54 2023 +0100 @@ -100,12 +100,12 @@ } for prefix in VALID_PREFIXES.iter() { if pattern.starts_with(prefix.as_bytes()) { - break; + return Ok(()); } - return Err(SparseConfigError::InvalidNarrowPrefix( - pattern.to_owned(), - )); } + return Err(SparseConfigError::InvalidNarrowPrefix( + pattern.to_owned(), + )); } Ok(()) } diff -r 58074252db3c -r c8ef85ace216 tests/test-narrow-clone.t --- a/tests/test-narrow-clone.t Mon Jan 09 17:40:03 2023 +0100 +++ b/tests/test-narrow-clone.t Mon Jan 09 17:48:54 2023 +0100 @@ -28,6 +28,18 @@ (narrow patterns must begin with one of the following: path:, rootfilesin:) [255] +rootfilesin: patterns work + + $ hg clone --narrow ssh://user@dummy/master rootfilesin --noupdate --include 'rootfilesin:dir' + requesting all changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 0 changes to 0 files + new changesets 26ce255d5b5d + $ hg tracked -R rootfilesin + I rootfilesin:dir + narrow clone a file, f10 $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/f10"