diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java b/org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java index 35df8e165..fd94cfb23 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/merge/Merger.java @@ -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. + *

+ * 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. *