TarFormat: Use commit time as timestamp for entries This was already done for ZipFormat in 1448ec3. Change-Id: Ie131938a3f640c68718dc793d18dd35be5c71e7c Signed-off-by: Yasuhiro Takagi <ytakagi@bea.hi-ho.ne.jp> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
diff --git a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java index c7e2583..7b7fbcd 100644 --- a/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java +++ b/org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java
@@ -59,6 +59,8 @@ import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectLoader; +import org.eclipse.jgit.revwalk.RevCommit; + /** * Unix TAR format (ustar + some PAX extensions). @@ -121,6 +123,12 @@ public void putEntry(ArchiveOutputStream out, path = path + "/"; //$NON-NLS-1$ final TarArchiveEntry entry = new TarArchiveEntry(path); + + if (tree instanceof RevCommit) { + long t = ((RevCommit) tree).getCommitTime() * 1000L; + entry.setModTime(t); + } + if (mode == FileMode.TREE) { out.putArchiveEntry(entry); out.closeArchiveEntry();