From 993fcac2d34f113977c1ad7e0f83a2cc0f903f71 Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Tue, 7 Aug 2012 16:49:45 +0200 Subject: Allow JGit to read C Git rebase state C Git prefixes the time stamp in the author script with a "@" Change-Id: I140b29519acc101da78296eef562368fc6b61135 --- org.eclipse.jgit/src/org/eclipse/jgit/api/RebaseCommand.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'org.eclipse.jgit/src/org/eclipse/jgit/api') 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 6f0c3eb0f4..9f8aa7bfb2 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 @@ public class RebaseCommand extends GitCommand { // 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 @@ public class RebaseCommand extends GitCommand { String time = keyValueMap.get(GIT_AUTHOR_DATE); // the time is saved as - 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) == '+') -- cgit v1.2.3