diff --git a/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitPresenter.java b/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitPresenter.java index af39d6bc8eb..ed8eab45c6f 100644 --- a/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitPresenter.java +++ b/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitPresenter.java @@ -76,6 +76,7 @@ public class CommitPresenter extends GitAuthActionPresenter private final ProcessesPanelPresenter consolesPanelPresenter; private Project project; + private String latestCommitMessage; @Inject public CommitPresenter( @@ -118,7 +119,11 @@ public void showDialog(Project project) { service .log(project.getLocation(), null, -1, 1, false) .then( - arg -> { + log -> { + final Revision revision = getFirst(log.getCommits(), null); + if (revision != null) { + latestCommitMessage = revision.getMessage(); + } if (diff.isEmpty()) { showAskForAmendDialog(); } else { @@ -140,6 +145,8 @@ public void showDialog(Project project) { newFiles.addAll(status.getUntracked()); show(newFiles.stream().collect(joining("\nA\t", "A\t", ""))); }); + } else { + notificationManager.notify(locale.logFailed(), FAIL, NOT_EMERGE_MODE); } }); }) @@ -267,30 +274,11 @@ public void onSelectionChanged(Path path, boolean isChecked) { @Override public void setAmendCommitMessage() { - service - .log(project.getLocation(), null, -1, -1, false) - .then( - log -> { - String message = ""; - final Revision revision = getFirst(log.getCommits(), null); - if (revision != null) { - message = revision.getMessage(); - } - CommitPresenter.this.view.setMessage(message); - CommitPresenter.this.view.setEnableCommitButton(!message.isEmpty()); - }) - .catchError( - error -> { - if (getErrorCode(error.getCause()) == ErrorCodes.INIT_COMMIT_WAS_NOT_PERFORMED) { - dialogFactory - .createMessageDialog( - locale.commitTitle(), locale.initCommitWasNotPerformed(), null) - .show(); - } else { - CommitPresenter.this.view.setMessage(""); - notificationManager.notify(locale.logFailed(), FAIL, NOT_EMERGE_MODE); - } - }); + if (latestCommitMessage == null) { + return; + } + view.setMessage(latestCommitMessage); + view.setEnableCommitButton(!latestCommitMessage.isEmpty()); } private void onCommitSuccess(@NotNull final Revision revision) { diff --git a/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitViewImpl.java b/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitViewImpl.java index f8a40f4589a..dba672d51f4 100644 --- a/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitViewImpl.java +++ b/plugins/plugin-git/che-plugin-git-ext-git/src/main/java/org/eclipse/che/ide/ext/git/client/commit/CommitViewImpl.java @@ -208,6 +208,7 @@ public void onAmendValueChange(final ValueChangeEvent event) { this.message.setValue(""); } delegate.onValueChanged(); + message.setFocus(true); } @Override