diff options
author | Christian Georgi | 2015-04-19 12:04:32 +0000 |
---|---|---|
committer | Christian Georgi | 2015-04-20 10:40:02 +0000 |
commit | d24cdb3eb01e316a62776ba3a57c88d7a3ef40a6 (patch) | |
tree | 234a19624438e1c2cc1d262e2b5de1f553c47c47 /org.eclipse.egit.ui/src | |
parent | fa231643f59af11b03d2072e3ba32c29edfeca0f (diff) | |
download | egit-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')
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 |