From: Anna Papitto Date: Tue, 9 May 2023 17:27:52 +0000 (-0700) Subject: PackExt: add a #getTmpExtension method X-Git-Tag: v6.6.0.202305241045-m3~1^2~19 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F07%2F201807%2F2;p=jgit.git PackExt: add a #getTmpExtension method During garbage collection, extensions for temporary files for indices are formatted manually. Add a method to PackExt to generate the temporary file extensions for each type of index file programmatically. Change-Id: I210bc2702e750bf0aea643b1a9a8536adebef179 Signed-off-by: Anna Papitto --- diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java index be359bbeaa..11757aabda 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java @@ -11,6 +11,7 @@ package org.eclipse.jgit.internal.storage.file; import static org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX; +import static org.eclipse.jgit.internal.storage.pack.PackExt.COMMIT_GRAPH; import static org.eclipse.jgit.internal.storage.pack.PackExt.INDEX; import static org.eclipse.jgit.internal.storage.pack.PackExt.KEEP; import static org.eclipse.jgit.internal.storage.pack.PackExt.PACK; @@ -943,7 +944,8 @@ public class GC { try (RevWalk walk = new RevWalk(repo)) { CommitGraphWriter writer = new CommitGraphWriter( GraphCommits.fromWalk(pm, wants, walk)); - tmpFile = File.createTempFile("commit_", ".graph_tmp", //$NON-NLS-1$//$NON-NLS-2$ + tmpFile = File.createTempFile("commit_", //$NON-NLS-1$ + COMMIT_GRAPH.getTmpExtension(), repo.getObjectDatabase().getInfoDirectory()); // write the commit-graph file try (FileOutputStream fos = new FileOutputStream(tmpFile); @@ -1292,10 +1294,11 @@ public class GC { ObjectId id = pw.computeName(); File packdir = repo.getObjectDatabase().getPackDirectory(); packdir.mkdirs(); - tmpPack = File.createTempFile("gc_", ".pack_tmp", packdir); //$NON-NLS-1$ //$NON-NLS-2$ - final String tmpBase = tmpPack.getName() + tmpPack = File.createTempFile("gc_", //$NON-NLS-1$ + PACK.getTmpExtension(), packdir); + String tmpBase = tmpPack.getName() .substring(0, tmpPack.getName().lastIndexOf('.')); - File tmpIdx = new File(packdir, tmpBase + ".idx_tmp"); //$NON-NLS-1$ + File tmpIdx = new File(packdir, tmpBase + INDEX.getTmpExtension()); tmpExts.put(INDEX, tmpIdx); if (!tmpIdx.createNewFile()) @@ -1321,7 +1324,8 @@ public class GC { } if (pw.prepareBitmapIndex(pm)) { - File tmpBitmapIdx = new File(packdir, tmpBase + ".bitmap_tmp"); //$NON-NLS-1$ + File tmpBitmapIdx = new File(packdir, + tmpBase + BITMAP_INDEX.getTmpExtension()); tmpExts.put(BITMAP_INDEX, tmpBitmapIdx); if (!tmpBitmapIdx.createNewFile()) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java index adad411c6f..d580083795 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java @@ -71,6 +71,15 @@ public enum PackExt { return 1 << getPosition(); } + /** + * Format a temporary file extension for this PackExt. + * + * @return a temporary file extension + */ + public String getTmpExtension() { + return String.format(".%s_tmp", ext); //$NON-NLS-1$ + } + /** {@inheritDoc} */ @Override public String toString() {