mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-21 12:15:00 +00:00
feature: allow merging tags into branches (#671)
Adds "Merge {tag} into {branch}" menu item to tag menu in histories. The rest is handled by already existing merge code.
This commit is contained in:
parent
b974436c8a
commit
4924e960bf
9 changed files with 23 additions and 2 deletions
|
@ -365,7 +365,7 @@ namespace SourceGit.ViewModels
|
|||
if (tags.Count > 0)
|
||||
{
|
||||
foreach (var tag in tags)
|
||||
FillTagMenu(menu, tag);
|
||||
FillTagMenu(menu, tag, current, commit.IsMerged);
|
||||
menu.Items.Add(new MenuItem() { Header = "-" });
|
||||
}
|
||||
|
||||
|
@ -893,7 +893,7 @@ namespace SourceGit.ViewModels
|
|||
menu.Items.Add(submenu);
|
||||
}
|
||||
|
||||
private void FillTagMenu(ContextMenu menu, Models.Tag tag)
|
||||
private void FillTagMenu(ContextMenu menu, Models.Tag tag, Models.Branch current, bool merged)
|
||||
{
|
||||
var submenu = new MenuItem();
|
||||
submenu.Header = tag.Name;
|
||||
|
@ -912,6 +912,19 @@ namespace SourceGit.ViewModels
|
|||
};
|
||||
submenu.Items.Add(push);
|
||||
|
||||
var merge = new MenuItem();
|
||||
merge.Header = new Views.NameHighlightedTextBlock("TagCM.Merge", tag.Name, current.Name);
|
||||
merge.Icon = App.CreateMenuIcon("Icons.Merge");
|
||||
merge.IsEnabled = !merged;
|
||||
merge.Click += (_, e) =>
|
||||
{
|
||||
if (PopupHost.CanCreatePopup())
|
||||
PopupHost.ShowPopup(new Merge(_repo, tag.Name, current.Name));
|
||||
e.Handled = true;
|
||||
};
|
||||
submenu.Items.Add(merge);
|
||||
submenu.Items.Add(new MenuItem() { Header = "-" });
|
||||
|
||||
var delete = new MenuItem();
|
||||
delete.Header = new Views.NameHighlightedTextBlock("TagCM.Delete", tag.Name);
|
||||
delete.Icon = App.CreateMenuIcon("Icons.Clear");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue