Use try-with-resources to close resources in BaseReceivePack
Change-Id: Iacaad1a7e0719541e5616d231422ea6fd4c95161 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
d94ce9c754
commit
c1edc1a07e
|
@ -1070,8 +1070,7 @@ private void receivePack() throws IOException {
|
|||
if (sideBand)
|
||||
resolving = new SideBandProgressMonitor(msgOut);
|
||||
|
||||
ObjectInserter ins = db.newObjectInserter();
|
||||
try {
|
||||
try (ObjectInserter ins = db.newObjectInserter()) {
|
||||
String lockMsg = "jgit receive-pack"; //$NON-NLS-1$
|
||||
if (getRefLogIdent() != null)
|
||||
lockMsg += " from " + getRefLogIdent().toExternalString(); //$NON-NLS-1$
|
||||
|
@ -1089,8 +1088,6 @@ private void receivePack() throws IOException {
|
|||
packLock = parser.parse(receiving, resolving);
|
||||
packSize = Long.valueOf(parser.getPackSize());
|
||||
ins.flush();
|
||||
} finally {
|
||||
ins.release();
|
||||
}
|
||||
|
||||
if (timeoutIn != null)
|
||||
|
@ -1119,67 +1116,69 @@ private void checkConnectivity() throws IOException {
|
|||
}
|
||||
parser = null;
|
||||
|
||||
final ObjectWalk ow = new ObjectWalk(db);
|
||||
ow.setRetainBody(false);
|
||||
if (baseObjects != null) {
|
||||
ow.sort(RevSort.TOPO);
|
||||
if (!baseObjects.isEmpty())
|
||||
ow.sort(RevSort.BOUNDARY, true);
|
||||
}
|
||||
|
||||
for (final ReceiveCommand cmd : commands) {
|
||||
if (cmd.getResult() != Result.NOT_ATTEMPTED)
|
||||
continue;
|
||||
if (cmd.getType() == ReceiveCommand.Type.DELETE)
|
||||
continue;
|
||||
ow.markStart(ow.parseAny(cmd.getNewId()));
|
||||
}
|
||||
for (final ObjectId have : advertisedHaves) {
|
||||
RevObject o = ow.parseAny(have);
|
||||
ow.markUninteresting(o);
|
||||
|
||||
if (baseObjects != null && !baseObjects.isEmpty()) {
|
||||
o = ow.peel(o);
|
||||
if (o instanceof RevCommit)
|
||||
o = ((RevCommit) o).getTree();
|
||||
if (o instanceof RevTree)
|
||||
ow.markUninteresting(o);
|
||||
try (final ObjectWalk ow = new ObjectWalk(db)) {
|
||||
ow.setRetainBody(false);
|
||||
if (baseObjects != null) {
|
||||
ow.sort(RevSort.TOPO);
|
||||
if (!baseObjects.isEmpty())
|
||||
ow.sort(RevSort.BOUNDARY, true);
|
||||
}
|
||||
}
|
||||
|
||||
checking.beginTask(JGitText.get().countingObjects, ProgressMonitor.UNKNOWN);
|
||||
RevCommit c;
|
||||
while ((c = ow.next()) != null) {
|
||||
checking.update(1);
|
||||
if (providedObjects != null //
|
||||
&& !c.has(RevFlag.UNINTERESTING) //
|
||||
&& !providedObjects.contains(c))
|
||||
throw new MissingObjectException(c, Constants.TYPE_COMMIT);
|
||||
}
|
||||
|
||||
RevObject o;
|
||||
while ((o = ow.nextObject()) != null) {
|
||||
checking.update(1);
|
||||
if (o.has(RevFlag.UNINTERESTING))
|
||||
continue;
|
||||
|
||||
if (providedObjects != null) {
|
||||
if (providedObjects.contains(o))
|
||||
for (final ReceiveCommand cmd : commands) {
|
||||
if (cmd.getResult() != Result.NOT_ATTEMPTED)
|
||||
continue;
|
||||
else
|
||||
throw new MissingObjectException(o, o.getType());
|
||||
if (cmd.getType() == ReceiveCommand.Type.DELETE)
|
||||
continue;
|
||||
ow.markStart(ow.parseAny(cmd.getNewId()));
|
||||
}
|
||||
for (final ObjectId have : advertisedHaves) {
|
||||
RevObject o = ow.parseAny(have);
|
||||
ow.markUninteresting(o);
|
||||
|
||||
if (baseObjects != null && !baseObjects.isEmpty()) {
|
||||
o = ow.peel(o);
|
||||
if (o instanceof RevCommit)
|
||||
o = ((RevCommit) o).getTree();
|
||||
if (o instanceof RevTree)
|
||||
ow.markUninteresting(o);
|
||||
}
|
||||
}
|
||||
|
||||
if (o instanceof RevBlob && !db.hasObject(o))
|
||||
throw new MissingObjectException(o, Constants.TYPE_BLOB);
|
||||
}
|
||||
checking.endTask();
|
||||
checking.beginTask(JGitText.get().countingObjects,
|
||||
ProgressMonitor.UNKNOWN);
|
||||
RevCommit c;
|
||||
while ((c = ow.next()) != null) {
|
||||
checking.update(1);
|
||||
if (providedObjects != null //
|
||||
&& !c.has(RevFlag.UNINTERESTING) //
|
||||
&& !providedObjects.contains(c))
|
||||
throw new MissingObjectException(c, Constants.TYPE_COMMIT);
|
||||
}
|
||||
|
||||
if (baseObjects != null) {
|
||||
for (ObjectId id : baseObjects) {
|
||||
o = ow.parseAny(id);
|
||||
if (!o.has(RevFlag.UNINTERESTING))
|
||||
throw new MissingObjectException(o, o.getType());
|
||||
RevObject o;
|
||||
while ((o = ow.nextObject()) != null) {
|
||||
checking.update(1);
|
||||
if (o.has(RevFlag.UNINTERESTING))
|
||||
continue;
|
||||
|
||||
if (providedObjects != null) {
|
||||
if (providedObjects.contains(o))
|
||||
continue;
|
||||
else
|
||||
throw new MissingObjectException(o, o.getType());
|
||||
}
|
||||
|
||||
if (o instanceof RevBlob && !db.hasObject(o))
|
||||
throw new MissingObjectException(o, Constants.TYPE_BLOB);
|
||||
}
|
||||
checking.endTask();
|
||||
|
||||
if (baseObjects != null) {
|
||||
for (ObjectId id : baseObjects) {
|
||||
o = ow.parseAny(id);
|
||||
if (!o.has(RevFlag.UNINTERESTING))
|
||||
throw new MissingObjectException(o, o.getType());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1502,7 +1501,7 @@ protected void close() throws IOException {
|
|||
* the pack could not be unlocked.
|
||||
*/
|
||||
protected void release() throws IOException {
|
||||
walk.release();
|
||||
walk.close();
|
||||
unlockPack();
|
||||
timeoutIn = null;
|
||||
rawIn = null;
|
||||
|
|
Loading…
Reference in New Issue