]> source.dussan.org Git - jgit.git/commitdiff
[CLI] Add option --millis / -m to debug-show-dir-cache command 13/20113/2
authorMatthias Sohn <matthias.sohn@sap.com>
Fri, 20 Dec 2013 12:35:59 +0000 (13:35 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Fri, 27 Dec 2013 11:22:47 +0000 (12:22 +0100)
This is useful when comparing mtime displayed by
    $ jgit debug-show-dir-cache -m
with mtime displayed by
    $ git ls-files --debug
or
    $ stat "%m"

Change-Id: Id133ebe6f6093a56a6a6645e1c5bb18752fb2fd0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.pgm/resources/org/eclipse/jgit/pgm/internal/CLIText.properties
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/debug/ShowDirCache.java

index 1d2a8971f7c37d4b1af8d57638b1cbb0600f3f70..ca32479adbc7c411926a6daa1c85c4d06371d28d 100644 (file)
@@ -317,6 +317,7 @@ usage_showRefNamesMatchingCommits=Show ref names matching commits
 usage_showPatch=display patch
 usage_showRefNamesMatchingCommits=Show ref names matching commits
 usage_showNotes=Add this ref to the list of note branches from which notes are displayed
+usage_showTimeInMilliseconds=Show mtime in milliseconds
 usage_squash=Squash commits as if a real merge happened, but do not make a commit or move the HEAD.
 usage_srcPrefix=show the source prefix instead of "a/"
 usage_symbolicVersionForTheProject=Symbolic version for the project
index 71af3d10ab55ed649eac82916b7347f24b116e71..bb4f73d7d168b168cb6791c6ae0c6e45e885482b 100644 (file)
@@ -56,26 +56,35 @@ import org.eclipse.jgit.dircache.DirCacheEntry;
 import org.eclipse.jgit.lib.FileMode;
 import org.eclipse.jgit.pgm.Command;
 import org.eclipse.jgit.pgm.TextBuiltin;
+import org.kohsuke.args4j.Option;
 
 @Command(usage = "usage_ShowDirCache")
 class ShowDirCache extends TextBuiltin {
+
+       @Option(name = "--millis", aliases = { "-m" }, usage = "usage_showTimeInMilliseconds")
+       private boolean millis = false;
+
        @Override
        protected void run() throws Exception {
                final SimpleDateFormat fmt;
-               fmt = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss.SSS");
+               fmt = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss.SSS"); //$NON-NLS-1$
 
                final DirCache cache = db.readDirCache();
                for (int i = 0; i < cache.getEntryCount(); i++) {
                        final DirCacheEntry ent = cache.getEntry(i);
                        final FileMode mode = FileMode.fromBits(ent.getRawMode());
                        final int len = ent.getLength();
-                       final Date mtime = new Date(ent.getLastModified());
+                       long lastModified = ent.getLastModified();
+                       final Date mtime = new Date(lastModified);
                        final int stage = ent.getStage();
 
                        outw.print(mode);
                        outw.format(" %6d", valueOf(len)); //$NON-NLS-1$
                        outw.print(' ');
-                       outw.print(fmt.format(mtime));
+                       if (millis)
+                               outw.print(lastModified);
+                       else
+                               outw.print(fmt.format(mtime));
                        outw.print(' ');
                        outw.print(ent.getObjectId().name());
                        outw.print(' ');