Browse Source

Merge "Add insert(TreeFormatter) to ObjectInserter"

tags/v0.10.1
Chris Aniszczyk 13 years ago
parent
commit
6eb6d7c77a

+ 1
- 1
org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java View File

@@ -338,7 +338,7 @@ public class DirCacheTree {
entryIdx++;
}

id = fmt.insert(ow);
id = ow.insert(fmt);
}
return id;
}

+ 16
- 0
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectInserter.java View File

@@ -176,6 +176,22 @@ public abstract class ObjectInserter {
return ObjectId.fromRaw(md.digest());
}

/**
* Insert a single tree into the store, returning its unique name.
*
* @param formatter
* the formatter containing the proposed tree's data.
* @return the name of the tree object.
* @throws IOException
* the object could not be stored.
*/
public final ObjectId insert(TreeFormatter formatter) throws IOException {
// Delegate to the formatter, as then it can pass the raw internal
// buffer back to this inserter, avoiding unnecessary data copying.
//
return formatter.insertTo(this);
}

/**
* Insert a single commit into the store, returning its unique name.
*

+ 2
- 2
org.eclipse.jgit/src/org/eclipse/jgit/lib/TreeFormatter.java View File

@@ -279,7 +279,7 @@ public class TreeFormatter {
* @throws IOException
* the tree could not be stored.
*/
public ObjectId insert(ObjectInserter ins) throws IOException {
public ObjectId insertTo(ObjectInserter ins) throws IOException {
if (buf != null)
return ins.insert(OBJ_TREE, buf, 0, ptr);

@@ -293,7 +293,7 @@ public class TreeFormatter {
* This method is not efficient, as it needs to create a copy of the
* internal buffer in order to supply an array of the correct size to the
* caller. If the buffer is just to pass to an ObjectInserter, consider
* using {@link #insert(ObjectInserter)} instead.
* using {@link ObjectInserter#insert(TreeFormatter)} instead.
*
* @return a copy of this formatter's buffer.
*/

+ 1
- 1
org.eclipse.jgit/src/org/eclipse/jgit/notes/FanoutBucket.java View File

@@ -254,7 +254,7 @@ class FanoutBucket extends InMemoryNoteBucket {

for (; e != null; e = e.next)
e.format(fmt);
return fmt.insert(inserter);
return inserter.insert(fmt);
}

private int treeSize() {

+ 1
- 1
org.eclipse.jgit/src/org/eclipse/jgit/notes/LeafBucket.java View File

@@ -190,7 +190,7 @@ class LeafBucket extends InMemoryNoteBucket {

for (; e != null; e = e.next)
e.format(fmt);
return fmt.insert(inserter);
return inserter.insert(fmt);
}

private int treeSize(final int nameLen) {

Loading…
Cancel
Save