Allow JGit to read C Git rebase state

C Git prefixes the time stamp in the author script with a "@"

Change-Id: I140b29519acc101da78296eef562368fc6b61135
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
index 4a7a45e..edb36b8 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/RebaseCommandTest.java
@@ -975,7 +975,7 @@ public void testAuthorScriptConverter() throws Exception {
 		String[] lines = convertedAuthor.split("\n");
 		assertEquals("GIT_AUTHOR_NAME='Author name'", lines[0]);
 		assertEquals("GIT_AUTHOR_EMAIL='a.mail@some.com'", lines[1]);
-		assertEquals("GIT_AUTHOR_DATE='123456789 -0100'", lines[2]);
+		assertEquals("GIT_AUTHOR_DATE='@123456789 -0100'", lines[2]);
 
 		PersonIdent parsedIdent = git.rebase().parseAuthor(
 				convertedAuthor.getBytes("UTF-8"));
@@ -992,7 +992,7 @@ public void testAuthorScriptConverter() throws Exception {
 		lines = convertedAuthor.split("\n");
 		assertEquals("GIT_AUTHOR_NAME='Author name'", lines[0]);
 		assertEquals("GIT_AUTHOR_EMAIL='a.mail@some.com'", lines[1]);
-		assertEquals("GIT_AUTHOR_DATE='123456789 +0930'", lines[2]);
+		assertEquals("GIT_AUTHOR_DATE='@123456789 +0930'", lines[2]);
 
 		parsedIdent = git.rebase().parseAuthor(
 				convertedAuthor.getBytes("UTF-8"));
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java
index 6f0c3eb..9f8aa7b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java
@@ -439,6 +439,7 @@ String toAuthorScript(PersonIdent author) {
 		// representation for date and timezone
 		sb.append(GIT_AUTHOR_DATE);
 		sb.append("='");
+		sb.append("@"); // @ for time in seconds since 1970
 		String externalString = author.toExternalString();
 		sb
 				.append(externalString.substring(externalString
@@ -1013,7 +1014,13 @@ PersonIdent parseAuthor(byte[] raw) {
 		String time = keyValueMap.get(GIT_AUTHOR_DATE);
 
 		// the time is saved as <seconds since 1970> <timezone offset>
-		long when = Long.parseLong(time.substring(0, time.indexOf(' '))) * 1000;
+		int timeStart = 0;
+		if (time.startsWith("@"))
+			timeStart = 1;
+		else
+			timeStart = 0;
+		long when = Long
+				.parseLong(time.substring(timeStart, time.indexOf(' '))) * 1000;
 		String tzOffsetString = time.substring(time.indexOf(' ') + 1);
 		int multiplier = -1;
 		if (tzOffsetString.charAt(0) == '+')