From 3753592ef2e33f138544f761d8e77742b80680d2 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 14 Mar 2024 19:38:41 +0100 Subject: [PATCH] assure submodule status doesn't operate if there is no worktree checkout --- gix/src/submodule/mod.rs | 5 ++- .../generated-archives/make_submodules.tar.xz | Bin 28948 -> 30012 bytes gix/tests/fixtures/make_submodules.sh | 9 +++++ gix/tests/submodule/mod.rs | 35 +++++++++++++++++- 4 files changed, 47 insertions(+), 2 deletions(-) diff --git a/gix/src/submodule/mod.rs b/gix/src/submodule/mod.rs index a2668a2bd39..d71a21b9c86 100644 --- a/gix/src/submodule/mod.rs +++ b/gix/src/submodule/mod.rs @@ -382,6 +382,9 @@ pub mod status { return Ok(status); } + if !state.worktree_checkout { + return Ok(status); + } let statusses = adjust_options(sm_repo.status(gix_features::progress::Discard)?) .index_worktree_options_mut(|opts| { if ignore == config::Ignore::Untracked { @@ -408,7 +411,7 @@ pub mod status { /// Return `None` if the repository clone or the worktree are missing entirely, which would leave /// it to the caller to determine if that's considered dirty or not. pub fn is_dirty(&self) -> Option { - if !self.state.worktree_checkout && !self.state.repository_exists { + if !self.state.worktree_checkout || !self.state.repository_exists { return None; } let is_dirty = diff --git a/gix/tests/fixtures/generated-archives/make_submodules.tar.xz b/gix/tests/fixtures/generated-archives/make_submodules.tar.xz index e4c34d017c44a5f8d930c47362fccc089889e5c3..ac4c0109ac8686c27e3ee593842c315440712790 100644 GIT binary patch delta 29972 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 delta 28899 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 C9ZPQj diff --git a/gix/tests/fixtures/make_submodules.sh b/gix/tests/fixtures/make_submodules.sh index 740cc278ee5..4533033e6fb 100755 --- a/gix/tests/fixtures/make_submodules.sh +++ b/gix/tests/fixtures/make_submodules.sh @@ -21,6 +21,15 @@ git init submodule-head-changed cd m1 && git checkout @~1 ) +git init submodule-head-changed-no-worktree +(cd submodule-head-changed-no-worktree + git submodule add ../module1 m1 + git commit -m "add submodule" + + (cd m1 && git checkout @~1) + rm -Rf m1 && mkdir m1 +) + git init modified-and-untracked (cd modified-and-untracked git submodule add ../module1 m1 diff --git a/gix/tests/submodule/mod.rs b/gix/tests/submodule/mod.rs index 5434ac2b152..0ff6480d88e 100644 --- a/gix/tests/submodule/mod.rs +++ b/gix/tests/submodule/mod.rs @@ -63,7 +63,7 @@ mod open { worktree_checkout: false, superproject_configuration: true, }, - Some(true), + None, )], ), ] { @@ -241,6 +241,39 @@ mod open { Ok(()) } + #[test] + fn changed_head_empty_worktree() -> crate::Result { + let repo = repo("submodule-head-changed-no-worktree")?; + let sm = repo.submodules()?.into_iter().flatten().next().expect("one submodule"); + + let status = sm.status(gix::submodule::config::Ignore::None, false)?; + assert_eq!( + status.state, + gix::submodule::State { + repository_exists: true, + is_old_form: false, + worktree_checkout: false, + superproject_configuration: true, + } + ); + assert_eq!( + status.is_dirty(), + None, + "a missing worktree counts as no-dirty, even though the checked out HEAD changed. \ + Git does the same, even though as we express it as 'not determined'" + ); + assert_ne!( + status.index_id, status.checked_out_head_id, + "not considered dirty despite head mismatch" + ); + assert!( + status.changes.is_none(), + "Detailed changes are never done if there is no worktree" + ); + + Ok(()) + } + #[test] fn is_dirty_skips_expensive_checks() -> crate::Result { let repo = repo("submodule-head-changed-and-modified")?;