summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm
diff options
context:
space:
mode:
authorRobin Rosenberg <robin.rosenberg@dewire.com>2011-10-09 22:01:39 +0200
committerRobin Rosenberg <robin.rosenberg@dewire.com>2011-10-26 23:15:24 +0200
commit6baf0cb9564d1df512e1f47c2d65cfa927faf95f (patch)
tree0ee2af50edb133ce2543e78ba55f5e018061d5c2 /org.eclipse.jgit.pgm
parentf4460dda97541fb2b97daa08d7c39c676ec8511d (diff)
downloadjgit-6baf0cb9564d1df512e1f47c2d65cfa927faf95f.tar.gz
jgit-6baf0cb9564d1df512e1f47c2d65cfa927faf95f.zip
Make use of the many date formatting options in the log command
Change-Id: I30f1049fce086f2cf7e39ba3ad8b335df3a7b827
Diffstat (limited to 'org.eclipse.jgit.pgm')
-rw-r--r--org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties1
-rw-r--r--org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Log.java26
2 files changed, 15 insertions, 12 deletions
diff --git a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
index 1c95fd5f97..b57b1d7f7c 100644
--- a/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
+++ b/org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/CLIText.properties
@@ -183,6 +183,7 @@ usage_configureTheServiceInDaemonServicename=configure the service in daemon.ser
usage_createBranchAndCheckout=create branch and checkout
usage_deleteBranchEvenIfNotMerged=delete branch (even if not merged)
usage_deleteFullyMergedBranch=delete fully merged branch
+usage_date=date format, one of default, rfc, local, iso, short, raw (as defined by git-log(1) ), locale or localelocal (jgit extensions)
usage_detectRenames=detect renamed files
usage_diffAlgorithm=the diff algorithm to use. Currently supported are: 'myers', 'histogram'
usage_directoriesToExport=directories to export
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Log.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Log.java
index 6cc0093805..f0b2ca90c8 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Log.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Log.java
@@ -47,18 +47,14 @@ package org.eclipse.jgit.pgm;
import java.io.BufferedOutputStream;
import java.io.IOException;
-import java.text.DateFormat;
import java.text.MessageFormat;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Set;
-import java.util.TimeZone;
import org.eclipse.jgit.diff.DiffFormatter;
import org.eclipse.jgit.diff.RawText;
@@ -73,14 +69,15 @@ import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.notes.NoteMap;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTree;
-import org.eclipse.jgit.util.SystemReader;
+import org.eclipse.jgit.util.GitDateFormatter;
+import org.eclipse.jgit.util.GitDateFormatter.Format;
import org.kohsuke.args4j.Option;
@Command(common = true, usage = "usage_viewCommitHistory")
class Log extends RevWalkTextBuiltin {
- private final TimeZone myTZ = SystemReader.getInstance().getTimeZone();
- private final DateFormat fmt;
+ private GitDateFormatter dateFormatter = new GitDateFormatter(
+ Format.DEFAULT);
private final DiffFormatter diffFmt = new DiffFormatter( //
new BufferedOutputStream(System.out));
@@ -102,6 +99,13 @@ class Log extends RevWalkTextBuiltin {
additionalNoteRefs.add(notesRef);
}
+ @Option(name = "--date", usage = "usage_date")
+ void dateFormat(String date) {
+ if (date.toLowerCase().equals(date))
+ date = date.toUpperCase();
+ dateFormatter = new GitDateFormatter(Format.valueOf(date));
+ }
+
// BEGIN -- Options shared with Diff
@Option(name = "-p", usage = "usage_showPatch")
boolean showPatch;
@@ -175,7 +179,7 @@ class Log extends RevWalkTextBuiltin {
Log() {
- fmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy ZZZZZ", Locale.US);
+ dateFormatter = new GitDateFormatter(Format.DEFAULT);
}
@Override
@@ -246,10 +250,8 @@ class Log extends RevWalkTextBuiltin {
final PersonIdent author = c.getAuthorIdent();
out.println(MessageFormat.format(CLIText.get().authorInfo, author.getName(), author.getEmailAddress()));
-
- final TimeZone authorTZ = author.getTimeZone();
- fmt.setTimeZone(authorTZ != null ? authorTZ : myTZ);
- out.println(MessageFormat.format(CLIText.get().dateInfo, fmt.format(author.getWhen())));
+ out.println(MessageFormat.format(CLIText.get().dateInfo,
+ dateFormatter.formatDate(author)));
out.println();
final String[] lines = c.getFullMessage().split("\n");