From e0193a0240ad54c116957cdf26d7ca800bc34523 Mon Sep 17 00:00:00 2001 From: Yann Simon Date: Mon, 9 Feb 2009 10:30:57 +0100 Subject: [PATCH] Use previous author when amending a commit In the commit dialog, when amending the commit, the author of the previous commit is proposed as default in the author field. Signed-off-by: Yann Simon Signed-off-by: Shawn O. Pearce --- .../org/spearce/egit/ui/internal/actions/CommitAction.java | 5 ++++- .../org/spearce/egit/ui/internal/dialogs/CommitDialog.java | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CommitAction.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CommitAction.java index ae26770a..d30172f4 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CommitAction.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/actions/CommitAction.java @@ -118,8 +118,11 @@ public class CommitAction extends RepositoryAction { commitDialog.setFileList(files); commitDialog.setAuthor(author); - if (previousCommit != null) + if (previousCommit != null) { commitDialog.setPreviousCommitMessage(previousCommit.getMessage()); + PersonIdent previousAuthor = previousCommit.getAuthor(); + commitDialog.setPreviousAuthor(previousAuthor.getName() + " <" + previousAuthor.getEmailAddress() + ">"); + } if (commitDialog.open() != IDialogConstants.OK_ID) return; diff --git a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/CommitDialog.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/CommitDialog.java index fede9489..b122fb8a 100644 --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/CommitDialog.java +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/dialogs/CommitDialog.java @@ -175,6 +175,7 @@ public class CommitDialog extends Dialog { amendingButton.setSelection(amending); amendingButton.setEnabled(false); // if already set, don't allow any changes commitText.setText(previousCommitMessage); + authorText.setText(previousAuthor); } else if (!amendAllowed) { amendingButton.setEnabled(false); } @@ -189,6 +190,7 @@ public class CommitDialog extends Dialog { if (curText.length() > 0) curText += "\n"; //$NON-NLS-1$ commitText.setText(curText + previousCommitMessage); + authorText.setText(previousAuthor); } } @@ -334,6 +336,7 @@ public class CommitDialog extends Dialog { private String commitMessage = ""; //$NON-NLS-1$ private String author = null; + private String previousAuthor = null; private boolean signedOff = false; private boolean amending = false; private boolean amendAllowed = true; @@ -470,6 +473,15 @@ public class CommitDialog extends Dialog { } /** + * Pre-set the previous author if amending the commit + * + * @param previousAuthor + */ + public void setPreviousAuthor(String previousAuthor) { + this.previousAuthor = previousAuthor; + } + + /** * @return whether to auto-add a signed-off line to the message */ public boolean isSignedOff() { -- 2.11.4.GIT