Merge changes I627681be,I334034a2
* changes: TreeWalk: Do not close reader passed explicitly to constructor TreeWalk: Stop using deprecated ObjectReader#release()
This commit is contained in:
commit
0f51246b0e
|
@ -157,11 +157,8 @@ public static TreeWalk forPath(final ObjectReader reader, final String path,
|
|||
public static TreeWalk forPath(final Repository db, final String path,
|
||||
final AnyObjectId... trees) throws MissingObjectException,
|
||||
IncorrectObjectTypeException, CorruptObjectException, IOException {
|
||||
ObjectReader reader = db.newObjectReader();
|
||||
try {
|
||||
try (ObjectReader reader = db.newObjectReader()) {
|
||||
return forPath(reader, path, trees);
|
||||
} finally {
|
||||
reader.release();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -198,6 +195,8 @@ public static TreeWalk forPath(final Repository db, final String path,
|
|||
|
||||
private final ObjectReader reader;
|
||||
|
||||
private final boolean closeReader;
|
||||
|
||||
private final MutableObjectId idBuffer = new MutableObjectId();
|
||||
|
||||
private TreeFilter filter;
|
||||
|
@ -220,22 +219,30 @@ public static TreeWalk forPath(final Repository db, final String path,
|
|||
* Create a new tree walker for a given repository.
|
||||
*
|
||||
* @param repo
|
||||
* the repository the walker will obtain data from.
|
||||
* the repository the walker will obtain data from. An
|
||||
* ObjectReader will be created by the walker, and will be closed
|
||||
* when the walker is closed.
|
||||
*/
|
||||
public TreeWalk(final Repository repo) {
|
||||
this(repo.newObjectReader());
|
||||
this(repo.newObjectReader(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new tree walker for a given repository.
|
||||
*
|
||||
* @param or
|
||||
* the reader the walker will obtain tree data from.
|
||||
* the reader the walker will obtain tree data from. The reader
|
||||
* is not closed when the walker is closed.
|
||||
*/
|
||||
public TreeWalk(final ObjectReader or) {
|
||||
this(or, false);
|
||||
}
|
||||
|
||||
private TreeWalk(final ObjectReader or, final boolean closeReader) {
|
||||
reader = or;
|
||||
filter = TreeFilter.ALL;
|
||||
trees = NO_TREES;
|
||||
this.closeReader = closeReader;
|
||||
}
|
||||
|
||||
/** @return the reader this walker is using to load objects. */
|
||||
|
@ -264,7 +271,9 @@ public void release() {
|
|||
*/
|
||||
@Override
|
||||
public void close() {
|
||||
reader.close();
|
||||
if (closeReader) {
|
||||
reader.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue