Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Georgi2015-04-19 12:04:32 +0000
committerChristian Georgi2015-04-20 10:40:02 +0000
commitd24cdb3eb01e316a62776ba3a57c88d7a3ef40a6 (patch)
tree234a19624438e1c2cc1d262e2b5de1f553c47c47 /org.eclipse.egit.ui/src
parentfa231643f59af11b03d2072e3ba32c29edfeca0f (diff)
downloadegit-d24cdb3eb01e316a62776ba3a57c88d7a3ef40a6.tar.gz
egit-d24cdb3eb01e316a62776ba3a57c88d7a3ef40a6.tar.xz
egit-d24cdb3eb01e316a62776ba3a57c88d7a3ef40a6.zip
Check for empty second line in commit message
Staging view and commit dialog now show a warning 'Second line should be empty'. Also add test for this new check. Bug: 464952 Change-Id: I04a9320601d24bf3c8825bf57c967496d94a8acc Signed-off-by: Christian Georgi <christian.georgi@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui/src')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java4
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java25
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties3
3 files changed, 31 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
index 55ffae355f..7fb6768bff 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
@@ -12,6 +12,7 @@
* Copyright (C) 2014, Marc Khouzam <marc.khouzam@ericsson.com>
* Copyright (C) 2014, Red Hat Inc.
* Copyright (C) 2014, Axel Richard <axel.richard@obeo.fr>
+ * Copyright (C) 2015, SAP SE (Christian Georgi <christian.georgi@sap.com>)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -2440,6 +2441,9 @@ public class UIText extends NLS {
public static String CommitMessageComponent_AmendingCommitInRemoteBranch;
/** */
+ public static String CommitMessageComponent_MessageSecondLineNotEmpty;
+
+ /** */
public static String CommitMessageEditorDialog_EditCommitMessageTitle;
/** */
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java
index fce0e2e067..1d6a3e442e 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java
@@ -9,6 +9,7 @@
* Copyright (C) 2012, IBM Corporation (Markus Keller <markus_keller@ch.ibm.com>)
* Copyright (C) 2012, 2013 Robin Stocker <robin@nibor.org>
* Copyright (C) 2014 IBM Corporation (Daniel Megert <daniel_megert@ch.ibm.com>)
+ * Copyright (C) 2015 SAP SE (Christian Georgi <christian.georgi@sap.com>)
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -44,8 +45,11 @@ import org.eclipse.egit.ui.internal.commit.CommitHelper;
import org.eclipse.egit.ui.internal.commit.CommitHelper.CommitInfo;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.DocumentEvent;
+import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IDocumentListener;
+import org.eclipse.jface.text.IRegion;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Ref;
@@ -440,9 +444,30 @@ public class CommitMessageComponent {
UIText.CommitMessageComponent_AmendingCommitInRemoteBranch,
IMessageProvider.WARNING);
+ String formatIssue = formatIssuesInCommitMessage(
+ commitText.getDocument());
+ if (formatIssue != null) {
+ return new CommitStatus(formatIssue, IMessageProvider.WARNING);
+ }
+
return CommitStatus.OK;
}
+ static String formatIssuesInCommitMessage(IDocument document) {
+ int numberOfLines = document.getNumberOfLines();
+ if (numberOfLines > 1) {
+ try {
+ IRegion lineInfo = document.getLineInformation(1);
+ if (lineInfo.getLength() > 0) {
+ return UIText.CommitMessageComponent_MessageSecondLineNotEmpty;
+ }
+ } catch (BadLocationException e) {
+ Activator.logError(e.getMessage(), e);
+ }
+ }
+ return null;
+ }
+
/**
* @return true if commit info is ok
*/
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
index 9611b895ee..8b98ba7803 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2005, 2014 Shawn Pearce and others.
+# Copyright (c) 2005, 2015 Shawn Pearce and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -814,6 +814,7 @@ SpellCheckingMessageArea_selectAll=Select &All
CommitMessageComponent_MessageInvalidAuthor=Invalid author specified. Example: A U Thor <author@example.com>
CommitMessageComponent_MessageInvalidCommitter=Invalid committer specified. Example: C O Mitter <committer@example.com>
CommitMessageComponent_AmendingCommitInRemoteBranch=The commit being amended has already been published to a remote branch.
+CommitMessageComponent_MessageSecondLineNotEmpty=Second line should be empty to separate commit message header from body
CommitMessageEditorDialog_EditCommitMessageTitle=Interactive Rebase - Reword Commit
CommitMessageViewer_author=Author
CommitMessageViewer_child=Child

Back to the top