From 5a4402ce83094d797f7c2c8780dbc35e0d738dec Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Thu, 12 Dec 2024 12:49:34 +0000 Subject: fix(push): three-way `merge-commit-id` `tag` should alway list only the three-way merge commit id. --- src/bin/git_remote_nostr/push.rs | 8 ++++---- tests/git_remote_nostr/push.rs | 9 ++++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/bin/git_remote_nostr/push.rs b/src/bin/git_remote_nostr/push.rs index 4066312..93127fb 100644 --- a/src/bin/git_remote_nostr/push.rs +++ b/src/bin/git_remote_nostr/push.rs @@ -1104,11 +1104,11 @@ async fn create_merge_events( } else { None }, - if merged_patches - .values() - .any(|m| m == &MergedPRCommitType::MergeCommit) + if let Some((commit, _)) = merged_patches + .iter() + .find(|(_, m)| **m == MergedPRCommitType::MergeCommit) { - vec![*merged_patches.keys().next().unwrap()] + vec![*commit] } else { let mut t: Vec = merged_patches.keys().copied().collect(); t.reverse(); diff --git a/tests/git_remote_nostr/push.rs b/tests/git_remote_nostr/push.rs index 4dc2c1d..2e9642f 100644 --- a/tests/git_remote_nostr/push.rs +++ b/tests/git_remote_nostr/push.rs @@ -896,7 +896,6 @@ async fn pushes_to_all_git_servers_listed_and_ok_printed() -> Result<()> { #[serial] async fn proposal_three_way_merge_commit_pushed_to_main_leads_to_status_event_issued() -> Result<()> { - // let (events, source_git_repo) = prep_source_repo_and_events_including_proposals().await?; let source_path = source_git_repo.dir.to_str().unwrap().to_string(); @@ -1164,7 +1163,7 @@ async fn proposal_fast_forward_merge_commits_pushed_to_main_leads_to_status_even // println!("merge status"); // println!("{:?}", merge_status); - let patch_commit_ids = proposal_patches + let patch_commit_ids_parents_first = proposal_patches .iter() .map(|e| { e.tags @@ -1176,7 +1175,11 @@ async fn proposal_fast_forward_merge_commits_pushed_to_main_leads_to_status_even }) .collect::>(); assert_eq!( - [vec!["merge-commit-id".to_string()], patch_commit_ids].concat(), + [ + vec!["merge-commit-id".to_string()], + patch_commit_ids_parents_first + ] + .concat(), merge_status .tags .iter() -- cgit v1.2.3