Allow applications to pass ObjectInserter to Merger
Gerrit Code Review needs to control which inserter is used by a Merger. Allow the application to set the inserter before calling merge, giving callers more direct control over how objects will be created. Change-Id: I3c527a493db4659e95289ff3077cffb9e32336cf
This commit is contained in:
parent
9000351909
commit
d0e4943df1
|
@ -108,6 +108,8 @@ public Repository getRepository() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return an object writer to create objects in {@link #getRepository()}.
|
* @return an object writer to create objects in {@link #getRepository()}.
|
||||||
|
* If no inserter has been set on this instance, one will be created
|
||||||
|
* and returned by all future calls.
|
||||||
*/
|
*/
|
||||||
public ObjectInserter getObjectInserter() {
|
public ObjectInserter getObjectInserter() {
|
||||||
if (inserter == null)
|
if (inserter == null)
|
||||||
|
@ -115,6 +117,23 @@ public ObjectInserter getObjectInserter() {
|
||||||
return inserter;
|
return inserter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the inserter this merger will use to create objects.
|
||||||
|
* <p>
|
||||||
|
* If an inserter was already set on this instance (such as by a prior set,
|
||||||
|
* or a prior call to {@link #getObjectInserter()}), the prior inserter will
|
||||||
|
* be released first.
|
||||||
|
*
|
||||||
|
* @param oi
|
||||||
|
* the inserter instance to use. Must be associated with the
|
||||||
|
* repository instance returned by {@link #getRepository()}.
|
||||||
|
*/
|
||||||
|
public void setObjectInserter(ObjectInserter oi) {
|
||||||
|
if (inserter != null)
|
||||||
|
inserter.release();
|
||||||
|
inserter = oi;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Merge together two or more tree-ish objects.
|
* Merge together two or more tree-ish objects.
|
||||||
* <p>
|
* <p>
|
||||||
|
|
Loading…
Reference in New Issue