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()}.
|
||||
* If no inserter has been set on this instance, one will be created
|
||||
* and returned by all future calls.
|
||||
*/
|
||||
public ObjectInserter getObjectInserter() {
|
||||
if (inserter == null)
|
||||
|
@ -115,6 +117,23 @@ public ObjectInserter getObjectInserter() {
|
|||
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.
|
||||
* <p>
|
||||
|
|
Loading…
Reference in New Issue