Skip to content

Commit 766b60d

Browse files
committed
enhance: disable unused context menus for bare repository (#899)
1 parent a932727 commit 766b60d

File tree

4 files changed

+382
-347
lines changed

4 files changed

+382
-347
lines changed

src/ViewModels/CommitDetail.cs

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -420,34 +420,37 @@ public ContextMenu CreateChangeContextMenu(Models.Change change)
420420
menu.Items.Add(patch);
421421
menu.Items.Add(new MenuItem { Header = "-" });
422422

423-
var resetToThisRevision = new MenuItem();
424-
resetToThisRevision.Header = App.Text("ChangeCM.CheckoutThisRevision");
425-
resetToThisRevision.Icon = App.CreateMenuIcon("Icons.File.Checkout");
426-
resetToThisRevision.Click += (_, ev) =>
423+
if (!_repo.IsBare)
427424
{
428-
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.Path, $"{_commit.SHA}");
429-
ev.Handled = true;
430-
};
425+
var resetToThisRevision = new MenuItem();
426+
resetToThisRevision.Header = App.Text("ChangeCM.CheckoutThisRevision");
427+
resetToThisRevision.Icon = App.CreateMenuIcon("Icons.File.Checkout");
428+
resetToThisRevision.Click += (_, ev) =>
429+
{
430+
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.Path, $"{_commit.SHA}");
431+
ev.Handled = true;
432+
};
431433

432-
var resetToFirstParent = new MenuItem();
433-
resetToFirstParent.Header = App.Text("ChangeCM.CheckoutFirstParentRevision");
434-
resetToFirstParent.Icon = App.CreateMenuIcon("Icons.File.Checkout");
435-
resetToFirstParent.IsEnabled = _commit.Parents.Count > 0;
436-
resetToFirstParent.Click += (_, ev) =>
437-
{
438-
if (change.Index == Models.ChangeState.Renamed)
439-
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.OriginalPath, $"{_commit.SHA}~1");
434+
var resetToFirstParent = new MenuItem();
435+
resetToFirstParent.Header = App.Text("ChangeCM.CheckoutFirstParentRevision");
436+
resetToFirstParent.Icon = App.CreateMenuIcon("Icons.File.Checkout");
437+
resetToFirstParent.IsEnabled = _commit.Parents.Count > 0;
438+
resetToFirstParent.Click += (_, ev) =>
439+
{
440+
if (change.Index == Models.ChangeState.Renamed)
441+
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.OriginalPath, $"{_commit.SHA}~1");
440442

441-
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.Path, $"{_commit.SHA}~1");
442-
ev.Handled = true;
443-
};
443+
new Commands.Checkout(_repo.FullPath).FileWithRevision(change.Path, $"{_commit.SHA}~1");
444+
ev.Handled = true;
445+
};
444446

445-
menu.Items.Add(resetToThisRevision);
446-
menu.Items.Add(resetToFirstParent);
447-
menu.Items.Add(new MenuItem { Header = "-" });
447+
menu.Items.Add(resetToThisRevision);
448+
menu.Items.Add(resetToFirstParent);
449+
menu.Items.Add(new MenuItem { Header = "-" });
448450

449-
if (File.Exists(Path.Combine(fullPath)))
450-
TryToAddContextMenuItemsForGitLFS(menu, change.Path);
451+
if (File.Exists(Path.Combine(fullPath)))
452+
TryToAddContextMenuItemsForGitLFS(menu, change.Path);
453+
}
451454

452455
var copyPath = new MenuItem();
453456
copyPath.Header = App.Text("CopyPath");

0 commit comments

Comments
 (0)