import org.eclipse.jgit.lib.AbbreviatedObjectId;
import org.eclipse.jgit.lib.AnyObjectId;
+import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectDatabase;
import org.eclipse.jgit.lib.ObjectId;
// Don't close anything.
}
- @Override
- public ObjectDirectoryInserter newInserter() {
- return wrapped.newInserter();
- }
-
@Override
public ObjectDatabase newCachedDatabase() {
return this;
return wrapped.getDirectory();
}
+ @Override
+ Config getConfig() {
+ return wrapped.getConfig();
+ }
+
@Override
AlternateHandle[] myAlternates() {
if (alts == null) {
import org.eclipse.jgit.lib.AbbreviatedObjectId;
import org.eclipse.jgit.lib.AnyObjectId;
+import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.ObjectDatabase;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.ObjectLoader;
}
@Override
- public abstract ObjectDirectoryInserter newInserter();
+ public ObjectDirectoryInserter newInserter() {
+ return new ObjectDirectoryInserter(this, getConfig());
+ }
/**
* Does the requested object exist in this database?
return hasObjectImpl1(objectId) || hasObjectImpl2(objectId.name());
}
+ /**
+ * Compute the location of a loose object file.
+ *
+ * @param objectId
+ * identity of the loose object to map to the directory.
+ * @return location of the object, if it were to exist as a loose object.
+ */
+ File fileFor(final AnyObjectId objectId) {
+ return fileFor(objectId.name());
+ }
+
+ File fileFor(final String objectName) {
+ final String d = objectName.substring(0, 2);
+ final String f = objectName.substring(2);
+ return new File(new File(getDirectory(), d), f);
+ }
+
final boolean hasObjectImpl1(final AnyObjectId objectId) {
if (hasObject1(objectId))
return true;
abstract void resolve(Set<ObjectId> matches, AbbreviatedObjectId id)
throws IOException;
+ abstract Config getConfig();
+
/**
* Open an object from this database.
* <p>
* identity of the loose object to map to the directory.
* @return location of the object, if it were to exist as a loose object.
*/
+ @Override
public File fileFor(final AnyObjectId objectId) {
- return fileFor(objectId.name());
- }
-
- private File fileFor(final String objectName) {
- final String d = objectName.substring(0, 2);
- final String f = objectName.substring(2);
- return new File(new File(objects, d), f);
+ return super.fileFor(objectId);
}
/**
return false;
}
+ Config getConfig() {
+ return config;
+ }
+
private void insertPack(final PackFile pf) {
PackList o, n;
do {
/** Creates loose objects in a {@link ObjectDirectory}. */
class ObjectDirectoryInserter extends ObjectInserter {
- private final ObjectDirectory db;
+ private final FileObjectDatabase db;
private final Config config;
private Deflater deflate;
- ObjectDirectoryInserter(final ObjectDirectory dest, final Config cfg) {
+ ObjectDirectoryInserter(final FileObjectDatabase dest, final Config cfg) {
db = dest;
config = cfg;
}