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`.
--- 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 {
--- 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