]> source.dussan.org Git - jgit.git/commitdiff
dfs: rename ReftableStack to DfsReftableStack 66/146566/28
authorHan-Wen Nienhuys <hanwen@google.com>
Wed, 24 Jul 2019 15:26:44 +0000 (17:26 +0200)
committerHan-Wen Nienhuys <hanwen@google.com>
Thu, 19 Sep 2019 16:32:20 +0000 (18:32 +0200)
The functionality in ReftableStack is specific to DFS.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
Change-Id: If6003d104b1ecb0f3ca7e9c3815b233fa0abf077

org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackCompactor.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableDatabase.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableStack.java [new file with mode: 0644]
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/ReftableBatchRefUpdate.java
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/ReftableStack.java [deleted file]

index 6f0ea18d2ddaa5b36d9c676de5222bc603eee0bc..0d139c1b7755cdc3130373e4122d78cff73cd3a7 100644 (file)
@@ -744,7 +744,7 @@ public class DfsGarbageCollector {
                        return;
                }
 
-               try (ReftableStack stack = ReftableStack.open(ctx, reftablesBefore)) {
+               try (DfsReftableStack stack = DfsReftableStack.open(ctx, reftablesBefore)) {
                        ReftableCompactor compact = new ReftableCompactor();
                        compact.addAll(stack.readers());
                        compact.setIncludeDeletes(includeDeletes);
index 6f3f2bd8e78dab25052d8373540441560c3d933f..8cf66b1598b9b92b8b0d9191a179284793af3723 100644 (file)
@@ -311,7 +311,7 @@ public class DfsPackCompactor {
                DfsObjDatabase objdb = repo.getObjectDatabase();
                Collections.sort(srcReftables, objdb.reftableComparator());
 
-               try (ReftableStack stack = ReftableStack.open(ctx, srcReftables)) {
+               try (DfsReftableStack stack = DfsReftableStack.open(ctx, srcReftables)) {
                        initOutDesc(objdb);
                        ReftableCompactor compact = new ReftableCompactor();
                        compact.addAll(stack.readers());
index fc8320feef55d1e7eb04778370fec94acc8cead8..cf3c71d431bc7ab605847a9067471d925558c453 100644 (file)
@@ -85,7 +85,7 @@ public class DfsReftableDatabase extends DfsRefDatabase {
 
        private DfsReader ctx;
 
-       private ReftableStack tableStack;
+       private DfsReftableStack tableStack;
 
        private MergedReftable mergedTables;
 
@@ -173,7 +173,7 @@ public class DfsReftableDatabase extends DfsRefDatabase {
         * @throws java.io.IOException
         *             if tables cannot be opened.
         */
-       protected ReftableStack stack() throws IOException {
+       protected DfsReftableStack stack() throws IOException {
                lock.lock();
                try {
                        if (tableStack == null) {
@@ -181,7 +181,7 @@ public class DfsReftableDatabase extends DfsRefDatabase {
                                if (ctx == null) {
                                        ctx = odb.newReader();
                                }
-                               tableStack = ReftableStack.open(ctx,
+                               tableStack = DfsReftableStack.open(ctx,
                                                Arrays.asList(odb.getReftables()));
                        }
                        return tableStack;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableStack.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsReftableStack.java
new file mode 100644 (file)
index 0000000..b6b5403
--- /dev/null
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2017, Google Inc.
+ * and other copyright owners as documented in the project's IP log.
+ *
+ * This program and the accompanying materials are made available
+ * under the terms of the Eclipse Distribution License v1.0 which
+ * accompanies this distribution, is reproduced below, and is
+ * available at http://www.eclipse.org/org/documents/edl-v10.php
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Eclipse Foundation, Inc. nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.eclipse.jgit.internal.storage.dfs;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.jgit.internal.storage.reftable.Reftable;
+
+/**
+ * Tracks multiple open
+ * {@link org.eclipse.jgit.internal.storage.reftable.Reftable} instances.
+ */
+public class DfsReftableStack implements AutoCloseable {
+       /**
+        * Opens a stack of tables for reading.
+        *
+        * @param ctx
+        *            context to read the tables with. This {@code ctx} will be
+        *            retained by the stack and each of the table readers.
+        * @param files
+        *            the tables to open.
+        * @return stack reference to close the tables.
+        * @throws java.io.IOException
+        *             a table could not be opened
+        */
+       public static DfsReftableStack open(DfsReader ctx, List<DfsReftable> files)
+                       throws IOException {
+               DfsReftableStack stack = new DfsReftableStack(files.size());
+               boolean close = true;
+               try {
+                       for (DfsReftable t : files) {
+                               stack.files.add(t);
+                               stack.tables.add(t.open(ctx));
+                       }
+                       close = false;
+                       return stack;
+               } finally {
+                       if (close) {
+                               stack.close();
+                       }
+               }
+       }
+
+       private final List<DfsReftable> files;
+       private final List<Reftable> tables;
+
+       private DfsReftableStack(int tableCnt) {
+               this.files = new ArrayList<>(tableCnt);
+               this.tables = new ArrayList<>(tableCnt);
+       }
+
+       /**
+        * Get unmodifiable list of DfsRefatble files
+        *
+        * @return unmodifiable list of DfsRefatble files, in the same order the
+        *         files were passed to {@link #open(DfsReader, List)}.
+        */
+       public List<DfsReftable> files() {
+               return Collections.unmodifiableList(files);
+       }
+
+       /**
+        * Get unmodifiable list of tables
+        *
+        * @return unmodifiable list of tables, in the same order the files were
+        *         passed to {@link #open(DfsReader, List)}.
+        */
+       public List<Reftable> readers() {
+               return Collections.unmodifiableList(tables);
+       }
+
+       /** {@inheritDoc} */
+       @Override
+       public void close() {
+               for (Reftable t : tables) {
+                       try {
+                               t.close();
+                       } catch (IOException e) {
+                               // Ignore close failures.
+                       }
+               }
+       }
+}
index 682e15664cf13ca4b9fb3804fe373d0d86061f98..090c8b3cdebf9a9f72058e38de18129e05141804 100644 (file)
@@ -405,7 +405,7 @@ public class ReftableBatchRefUpdate extends BatchRefUpdate {
 
        private boolean canCompactTopOfStack(ReftableConfig cfg)
                        throws IOException {
-               ReftableStack stack = refdb.stack();
+               DfsReftableStack stack = refdb.stack();
                List<Reftable> readers = stack.readers();
                if (readers.isEmpty()) {
                        return false;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/ReftableStack.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/ReftableStack.java
deleted file mode 100644 (file)
index 50ba0e0..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (C) 2017, Google Inc.
- * and other copyright owners as documented in the project's IP log.
- *
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Distribution License v1.0 which
- * accompanies this distribution, is reproduced below, and is
- * available at http://www.eclipse.org/org/documents/edl-v10.php
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- *   copyright notice, this list of conditions and the following
- *   disclaimer in the documentation and/or other materials provided
- *   with the distribution.
- *
- * - Neither the name of the Eclipse Foundation, Inc. nor the
- *   names of its contributors may be used to endorse or promote
- *   products derived from this software without specific prior
- *   written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.eclipse.jgit.internal.storage.dfs;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.jgit.internal.storage.reftable.Reftable;
-
-/**
- * Tracks multiple open
- * {@link org.eclipse.jgit.internal.storage.reftable.Reftable} instances.
- */
-public class ReftableStack implements AutoCloseable {
-       /**
-        * Opens a stack of tables for reading.
-        *
-        * @param ctx
-        *            context to read the tables with. This {@code ctx} will be
-        *            retained by the stack and each of the table readers.
-        * @param files
-        *            the tables to open.
-        * @return stack reference to close the tables.
-        * @throws java.io.IOException
-        *             a table could not be opened
-        */
-       public static ReftableStack open(DfsReader ctx, List<DfsReftable> files)
-                       throws IOException {
-               ReftableStack stack = new ReftableStack(files.size());
-               boolean close = true;
-               try {
-                       for (DfsReftable t : files) {
-                               stack.files.add(t);
-                               stack.tables.add(t.open(ctx));
-                       }
-                       close = false;
-                       return stack;
-               } finally {
-                       if (close) {
-                               stack.close();
-                       }
-               }
-       }
-
-       private final List<DfsReftable> files;
-       private final List<Reftable> tables;
-
-       private ReftableStack(int tableCnt) {
-               this.files = new ArrayList<>(tableCnt);
-               this.tables = new ArrayList<>(tableCnt);
-       }
-
-       /**
-        * Get unmodifiable list of DfsRefatble files
-        *
-        * @return unmodifiable list of DfsRefatble files, in the same order the
-        *         files were passed to {@link #open(DfsReader, List)}.
-        */
-       public List<DfsReftable> files() {
-               return Collections.unmodifiableList(files);
-       }
-
-       /**
-        * Get unmodifiable list of tables
-        *
-        * @return unmodifiable list of tables, in the same order the files were
-        *         passed to {@link #open(DfsReader, List)}.
-        */
-       public List<Reftable> readers() {
-               return Collections.unmodifiableList(tables);
-       }
-
-       /** {@inheritDoc} */
-       @Override
-       public void close() {
-               for (Reftable t : tables) {
-                       try {
-                               t.close();
-                       } catch (IOException e) {
-                               // Ignore close failures.
-                       }
-               }
-       }
-}