From b4eebbde2151a191aba2d7f4e6946352385eb2e2 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Wed, 28 Sep 2016 12:43:23 +0200 Subject: [PATCH] disable undo last commit action when dirty fixes #11477 --- src/vs/workbench/parts/git/browser/gitActions.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/vs/workbench/parts/git/browser/gitActions.ts b/src/vs/workbench/parts/git/browser/gitActions.ts index 72a2022f1f9..11f4b998eea 100644 --- a/src/vs/workbench/parts/git/browser/gitActions.ts +++ b/src/vs/workbench/parts/git/browser/gitActions.ts @@ -1150,6 +1150,21 @@ export class UndoLastCommitAction extends GitAction { super(UndoLastCommitAction.ID, UndoLastCommitAction.LABEL, 'git-action undo-last-commit', gitService); } + protected isEnabled():boolean { + if (!this.gitService) { + return false; + } + + if (!this.gitService.isIdle()) { + return false; + } + + var status = this.gitService.getModel().getStatus(); + + return status.getIndexStatus().all().length === 0 + && status.getWorkingTreeStatus().all().length === 0; + } + public run():Promise { return this.gitService.reset('HEAD~'); }