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
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;
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));
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;
Log() {
- fmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy ZZZZZ", Locale.US);
+ dateFormatter = new GitDateFormatter(Format.DEFAULT);
}
@Override
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");