Make use of the many date formatting options in the log command
Change-Id: I30f1049fce086f2cf7e39ba3ad8b335df3a7b827
This commit is contained in:
parent
f4460dda97
commit
6baf0cb956
|
@ -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
|
||||
|
|
|
@ -47,18 +47,14 @@
|
|||
|
||||
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.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 @@ void addAdditionalNoteRef(String notesRef) {
|
|||
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 @@ void noPrefix(@SuppressWarnings("unused") boolean on) {
|
|||
|
||||
|
||||
Log() {
|
||||
fmt = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy ZZZZZ", Locale.US);
|
||||
dateFormatter = new GitDateFormatter(Format.DEFAULT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -246,10 +250,8 @@ protected void show(final RevCommit c) throws Exception {
|
|||
|
||||
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");
|
||||
|
|
Loading…
Reference in New Issue