From fd7ab20ea4652055529b75000e2f35c59a50b7e9 Mon Sep 17 00:00:00 2001 From: Mikayla Maki Date: Tue, 11 Mar 2025 15:02:22 -0700 Subject: [PATCH] Don't clobber the user's upstream settings (#26486) It's not clobbering time :( Release Notes: - Git Beta: Fixed a bug where our push button would always overwrite the current branch's upstream --- crates/git_ui/src/git_panel.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index 50861c54fa..2fd43867c4 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -1706,10 +1706,18 @@ impl GitPanel { }; telemetry::event!("Git Pushed"); let branch = branch.clone(); + let options = if force_push { - PushOptions::Force + Some(PushOptions::Force) } else { - PushOptions::SetUpstream + match branch.upstream { + Some(Upstream { + tracking: UpstreamTracking::Gone, + .. + }) + | None => Some(PushOptions::SetUpstream), + _ => None, + } }; let remote = self.get_current_remote(window, cx); @@ -1739,7 +1747,7 @@ impl GitPanel { repo.push( branch.name.clone(), remote.name.clone(), - Some(options), + options, askpass_delegate, cx, )