diff --git a/crates/but/tests/but/command/commit.rs b/crates/but/tests/but/command/commit.rs index 2feb0927ffe..91a600581e0 100644 --- a/crates/but/tests/but/command/commit.rs +++ b/crates/but/tests/but/command/commit.rs @@ -3,6 +3,22 @@ use snapbox::str; use super::util; use crate::utils::Sandbox; +#[test] +fn commit_moved_file_replaced_by_directory() { + let env = Sandbox::init_scenario_with_target_and_default_settings("one-stack"); + env.setup_metadata(&["A"]); + + std::fs::rename(env.projects_root().join("A"), env.projects_root().join("B")).unwrap(); + env.file("A/file", "some other stuff"); + + env.but("commit -m 'Commit everything'").assert().success(); + + env.but("status -f") + .assert() + .success() + .stdout_eq(str![[r#""#]]); +} + #[test] fn commit_with_message_from_file() { let env = Sandbox::init_scenario_with_target_and_default_settings("one-stack");