From 9ef585325766d41f585c0bb63814f9f28fe5ef46 Mon Sep 17 00:00:00 2001 From: Stephan Dilly Date: Mon, 1 Mar 2021 11:05:31 +0100 Subject: [PATCH 1/2] only even try to ff merge when there is something incoming --- src/components/pull.rs | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/components/pull.rs b/src/components/pull.rs index d984ef00ad..a4dfe3ea27 100644 --- a/src/components/pull.rs +++ b/src/components/pull.rs @@ -127,19 +127,7 @@ impl PullComponent { self.git_fetch.last_result()? { if err.is_empty() { - let merge_res = - sync::branch_merge_upstream_fastforward( - CWD, - &self.branch, - ); - if let Err(err) = merge_res { - self.queue.borrow_mut().push_back( - InternalEvent::ShowErrorMsg(format!( - "merge failed:\n{}", - err - )), - ); - } + self.do_merge()?; } else { self.queue.borrow_mut().push_back( InternalEvent::ShowErrorMsg(format!( @@ -154,6 +142,28 @@ impl PullComponent { Ok(()) } + + /// + fn do_merge(&self) -> Result<()> { + let branch_compare = + sync::branch_compare_upstream(CWD, &self.branch)?; + if branch_compare.behind > 0 { + let merge_res = sync::branch_merge_upstream_fastforward( + CWD, + &self.branch, + ); + if let Err(err) = merge_res { + self.queue.borrow_mut().push_back( + InternalEvent::ShowErrorMsg(format!( + "merge failed:\n{}", + err + )), + ); + } + } + + Ok(()) + } } impl DrawableComponent for PullComponent { From f5b235cfaf41f1552f0a92c0c9fdfc3913417755 Mon Sep 17 00:00:00 2001 From: Stephan Dilly Date: Mon, 1 Mar 2021 11:06:34 +0100 Subject: [PATCH 2/2] Update pull.rs --- src/components/pull.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/pull.rs b/src/components/pull.rs index a4dfe3ea27..f4a0a0a3c5 100644 --- a/src/components/pull.rs +++ b/src/components/pull.rs @@ -143,7 +143,7 @@ impl PullComponent { Ok(()) } - /// + // check if something is incoming and try a ff merge then fn do_merge(&self) -> Result<()> { let branch_compare = sync::branch_compare_upstream(CWD, &self.branch)?;