From b26102469ca55b3dfbed3c0aeecb4b84df2628f6 Mon Sep 17 00:00:00 2001 From: Yasuhiro Takagi Date: Sun, 2 Apr 2017 12:08:53 +0900 Subject: [PATCH] TarFormat: Use commit time as timestamp for entries This was already done for ZipFormat in 1448ec3. Change-Id: Ie131938a3f640c68718dc793d18dd35be5c71e7c Signed-off-by: Yasuhiro Takagi Signed-off-by: David Pursehouse --- .../src/org/eclipse/jgit/archive/TarFormat.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 c7e2583adb..7b7fbcd83e 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.archive.internal.ArchiveText; 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 final class TarFormat extends BaseFormat implements 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(); -- 2.39.5