From c1c1c1f4d5b9ab07b153fcda168167ba983e6751 Mon Sep 17 00:00:00 2001 From: LuuuX Date: Thu, 14 Mar 2024 17:58:46 +0800 Subject: [PATCH] fix: bump check error --- crates/xtask-bump-check/src/xtask.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crates/xtask-bump-check/src/xtask.rs b/crates/xtask-bump-check/src/xtask.rs index 2ae97b2f7df4..1b03a7d82cb0 100644 --- a/crates/xtask-bump-check/src/xtask.rs +++ b/crates/xtask-bump-check/src/xtask.rs @@ -333,9 +333,12 @@ fn changed<'r, 'ws>( (relative_pkg_root, pkg) }) .collect::>(); - let base_tree = base_commit.as_object().peel_to_tree()?; + // Using a "symmetric difference" between base and head. + let ancestor_oid = repo.merge_base(base_commit.id(), head.id()).unwrap(); + let ancestor_commit = repo.find_commit(ancestor_oid).unwrap(); + let ancestor_base_tree = ancestor_commit.as_object().peel_to_tree()?; let head_tree = head.as_object().peel_to_tree()?; - let diff = repo.diff_tree_to_tree(Some(&base_tree), Some(&head_tree), Default::default())?; + let diff = repo.diff_tree_to_tree(Some(&ancestor_base_tree), Some(&head_tree), Default::default())?; let mut changed_members = HashMap::new();