8000 Merge pull request #189 from rubensa/patch-2 · angelozerr/typescript.java@63aedc3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 63aedc3

Browse files
authored
Merge pull request #189 from rubensa/patch-2
Preserve original file information
2 parents 1a84c7f + f89fc2c commit 63aedc3

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

core/ts.core/src/ts/utils/ZipUtils.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ public static void extractZip(File file, File destination) throws IOException {
103103

104104
// Close the stream
105105
out.close();
106+
// Preserve original modification date
107+
extracted.setLastModified(entry.getTime());
106108
if (extracted.getParent().contains(BIN_FOLDER)) {
107109
extracted.setExecutable(true);
108110
}
@@ -167,9 +169,13 @@ public static void extractTar(File file, File destination) throws IOException {
167169

168170
// Close the stream
169171
out.close();
170-
if (extractedFile.getParent().contains(BIN_FOLDER)) {
171-
extractedFile.setExecutable(true);
172-
}
172+
// Preserve original modification date
173+
extractedFile.setLastModified(entry.getTime());
174+
long mode = entry.getMode();
175+
if ((mode & 00100) > 0) {
176+
// Preserve execute permissions
177+
extractedFile.setExecutable(true, (mode & 00001) == 0);
178+
}
173179
break;
174180
case TarEntry.LINK:
175181
File linkFile = new File(destination, outFilename);

0 commit comments

Comments
 (0)
0