# HG changeset patch # User Raphaël Gomès # Date 1660730406 -7200 # Node ID 7e5377bdb66eddb487b763a97f2a51a682862e57 # Parent 55f8f3b6787f312ae30f68e5d7de46e1ffca1177 rust-status: ignored directories are now correctly only listed if opted into This fixes the behavior of `hg purge` removing empty ignored directory even without `--all` or `--ignored`. diff -r 55f8f3b6787f -r 7e5377bdb66e rust/hg-core/src/dirstate_tree/status.rs --- a/rust/hg-core/src/dirstate_tree/status.rs Fri Aug 05 14:18:13 2022 +0100 +++ b/rust/hg-core/src/dirstate_tree/status.rs Wed Aug 17 12:00:06 2022 +0200 @@ -728,9 +728,9 @@ ); }) } - } - if self.options.collect_traversed_dirs { - self.outcome.lock().unwrap().traversed.push(hg_path.into()) + if self.options.collect_traversed_dirs { + self.outcome.lock().unwrap().traversed.push(hg_path.into()) + } } is_ignored } else { diff -r 55f8f3b6787f -r 7e5377bdb66e tests/test-purge-ignored-directory.t --- a/tests/test-purge-ignored-directory.t Fri Aug 05 14:18:13 2022 +0100 +++ b/tests/test-purge-ignored-directory.t Wed Aug 17 12:00:06 2022 +0200 @@ -5,9 +5,8 @@ $ echo 'ignored' > .hgignore $ hg ci -qA -m init -d'2 0' $ mkdir ignored - -The better behavior here is the non-rust behavior, which is to keep -the directory and only delete it when -i or --all is given. - + $ ls + ignored $ hg purge -v --no-confirm - removing directory ignored (known-bad-output rust !) + $ ls + ignored