]> source.dussan.org Git - jgit.git/commitdiff
PackExt: add a #getTmpExtension method 07/201807/2
authorAnna Papitto <annapapitto@google.com>
Tue, 9 May 2023 17:27:52 +0000 (10:27 -0700)
committerIvan Frade <ifrade@google.com>
Thu, 11 May 2023 20:49:55 +0000 (16:49 -0400)
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 <annapapitto@google.com>
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/GC.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/PackExt.java

index be359bbeaaebc8ef2a0579d7a21a2e6d24c31886..11757aabdafd501017f3100a375cbe0fbe266308 100644 (file)
@@ -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())
index adad411c6fcbea77de2332fbbeb6ca085d4481c8..d580083795ea86650b17a29bae73b8456fdaf10e 100644 (file)
@@ -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() {