From ea5de7e694284fd827608a421871bf3622ab8420 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Lars=C3=A9n?= Date: Tue, 23 Jun 2026 11:19:15 +0200 Subject: [PATCH] test(but): reproduce commit failure on move + directory creation --- crates/but/tests/but/command/commit.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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");