Skip to content

Commit 2d12b9e

Browse files
MergeBuilderBnjoroge1
authored andcommitted
fix(merge): import dirty snapshot into mirror
1 parent 0d15ff4 commit 2d12b9e

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

‎crates/preloop-runner-server/src/snapshots.rs‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1658,6 +1658,19 @@ async fn create_workspace_snapshot_inner(
16581658
})?;
16591659
crate::merge_builder::MergeHead::Commit(head)
16601660
};
1661+
if Some(tree.as_str()) != source_tree.as_deref() {
1662+
// The dirty snapshot commit is engine-created and intentionally
1663+
// is not on origin. Import its objects into the merge mirror
1664+
// before the shared builder resolves the head; only the base is
1665+
// fetched from the forge.
1666+
let mut import = Command::new("git");
1667+
import
1668+
.env("GIT_DIR", &mirror)
1669+
.args(["fetch", "--no-tags"])
1670+
.arg(staging_repository.as_os_str())
1671+
.arg(&commit_sha);
1672+
run_git(&mut import, "import dirty snapshot into merge mirror").await?;
1673+
}
16611674
let source = crate::merge_builder::MergeSource {
16621675
mirror,
16631676
fetch_url: Some(origin_url.to_owned()),

0 commit comments

Comments
 (0)