feature: allow fetch the latest remote changes into local branch which is not current branch (#617)

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2024-10-29 09:59:13 +08:00
parent 489b57858f
commit 1442dcfe00
No known key found for this signature in database
8 changed files with 102 additions and 2 deletions

View file

@ -1354,6 +1354,7 @@ namespace SourceGit.ViewModels
e.Handled = true;
};
menu.Items.Add(checkout);
menu.Items.Add(new MenuItem() { Header = "-" });
var worktree = _worktrees.Find(x => x.Branch == branch.FullName);
var upstream = _branches.Find(x => x.FullName == branch.Upstream);
@ -1370,11 +1371,22 @@ namespace SourceGit.ViewModels
e.Handled = true;
};
menu.Items.Add(new MenuItem() { Header = "-" });
var fetchInto = new MenuItem();
fetchInto.Header = new Views.NameHighlightedTextBlock("BranchCM.FetchInto", upstream.FriendlyName, branch.Name);
fetchInto.Icon = App.CreateMenuIcon("Icons.Fetch");
fetchInto.IsEnabled = branch.TrackStatus.Ahead.Count == 0;
fetchInto.Click += (_, e) =>
{
if (PopupHost.CanCreatePopup())
PopupHost.ShowAndStartPopup(new FetchInto(this, branch, upstream));
e.Handled = true;
};
menu.Items.Add(fastForward);
menu.Items.Add(new MenuItem() { Header = "-" });
menu.Items.Add(fetchInto);
}
menu.Items.Add(new MenuItem() { Header = "-" });
menu.Items.Add(push);
var merge = new MenuItem();