summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRĂ¼diger Herrmann <ruediger.herrmann@gmx.de>2014-10-17 13:05:41 +0200
committerMatthias Sohn <matthias.sohn@sap.com>2015-01-03 00:28:15 +0100
commita4c2c8a3eea8a28b34e298f5ef3ccbd56dd87fac (patch)
tree119dd60e20990293f8354a54011b992cbdf52cb8
parent1cb566844116fc280969e4a89be8fa1c6e3a7d72 (diff)
downloadjgit-a4c2c8a3eea8a28b34e298f5ef3ccbd56dd87fac.tar.gz
jgit-a4c2c8a3eea8a28b34e298f5ef3ccbd56dd87fac.zip
Trim author/committer name and email in commit header
C Git trims name and email before inserting them into the commit header so that " A U Thor " and " author@example.com " becomes "A U Thor <author@example.com>" with a single separating space. This changes PersonIdent#toExternalString() to trim name and email before concatenating them. Change-Id: Idd77b659d0db957626824f6632e2da38d7731625 Signed-off-by: RĂ¼diger Herrmann <ruediger.herrmann@gmx.de>
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0001_PersonIdentTest.java12
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java4
2 files changed, 14 insertions, 2 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0001_PersonIdentTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0001_PersonIdentTest.java
index 1b7276bf77..315c495606 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0001_PersonIdentTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0001_PersonIdentTest.java
@@ -44,6 +44,7 @@
package org.eclipse.jgit.lib;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.util.Date;
import java.util.TimeZone;
@@ -83,4 +84,15 @@ public class T0001_PersonIdentTest {
public void nullForEmailShouldThrowIllegalArgumentException() {
new PersonIdent("A U Thor", null);
}
+
+ @Test
+ public void testToExternalStringTrimsNameAndEmail() throws Exception {
+ PersonIdent personIdent = new PersonIdent(" A U Thor ",
+ " author@example.com ");
+
+ String externalString = personIdent.toExternalString();
+
+ assertTrue(externalString.startsWith("A U Thor <author@example.com>"));
+ }
+
}
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java
index 69f7fd4404..8f7e3eff7c 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/PersonIdent.java
@@ -254,9 +254,9 @@ public class PersonIdent implements Serializable {
*/
public String toExternalString() {
final StringBuilder r = new StringBuilder();
- r.append(getName());
+ r.append(getName().trim());
r.append(" <"); //$NON-NLS-1$
- r.append(getEmailAddress());
+ r.append(getEmailAddress().trim());
r.append("> "); //$NON-NLS-1$
r.append(when / 1000);
r.append(' ');