Update JGit to latest 4.5.x release
JGit releases older than 4.5 are known to be prone to issues with MissingObjectExceptions. Since this is a major JGit version upgrade some code needs to be adapted to changed JGit API. Change-Id: Ia9099a5ac8fcbaf873e3354b5a47d2178c97444a Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -184,7 +184,7 @@ public class GitUtil {
|
|||||||
return ChangeIdUtil.computeChangeId(null, null, i, i, msg);
|
return ChangeIdUtil.computeChangeId(null, null, i, i, msg);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,13 +15,18 @@
|
|||||||
package com.google.gerrit.acceptance.git;
|
package com.google.gerrit.acceptance.git;
|
||||||
|
|
||||||
import org.eclipse.jgit.api.errors.GitAPIException;
|
import org.eclipse.jgit.api.errors.GitAPIException;
|
||||||
|
import org.eclipse.jgit.transport.CredentialsProvider;
|
||||||
|
import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
|
||||||
public class HttpPushForReviewIT extends AbstractPushForReview {
|
public class HttpPushForReviewIT extends AbstractPushForReview {
|
||||||
@Before
|
@Before
|
||||||
public void selectHttpUrl() throws GitAPIException, IOException {
|
public void selectHttpUrl() throws GitAPIException, IOException {
|
||||||
|
CredentialsProvider.setDefault(new UsernamePasswordCredentialsProvider(
|
||||||
|
admin.username, admin.httpPassword));
|
||||||
selectProtocol(Protocol.HTTP);
|
selectProtocol(Protocol.HTTP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -292,7 +292,7 @@ public class SubmitOnPushIT extends AbstractDaemonTest {
|
|||||||
assertEquals(admin.email, c.getAuthorIdent().getEmailAddress());
|
assertEquals(admin.email, c.getAuthorIdent().getEmailAddress());
|
||||||
assertEquals(admin.email, c.getCommitterIdent().getEmailAddress());
|
assertEquals(admin.email, c.getCommitterIdent().getEmailAddress());
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
r.close();
|
r.close();
|
||||||
@@ -310,7 +310,7 @@ public class SubmitOnPushIT extends AbstractDaemonTest {
|
|||||||
assertEquals(admin.email, c.getAuthorIdent().getEmailAddress());
|
assertEquals(admin.email, c.getAuthorIdent().getEmailAddress());
|
||||||
assertEquals(serverIdent.getEmailAddress(), c.getCommitterIdent().getEmailAddress());
|
assertEquals(serverIdent.getEmailAddress(), c.getCommitterIdent().getEmailAddress());
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
r.close();
|
r.close();
|
||||||
|
@@ -265,7 +265,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
repo.getRef("refs/heads/master").getObjectId()));
|
repo.getRef("refs/heads/master").getObjectId()));
|
||||||
return Lists.newArrayList(rw);
|
return Lists.newArrayList(rw);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
@@ -278,7 +278,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
try {
|
try {
|
||||||
return rw.parseCommit(repo.getRef(name).getObjectId());
|
return rw.parseCommit(repo.getRef(name).getObjectId());
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
@@ -300,7 +300,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
|
|||||||
ObjectId newTreeId = repo.resolve("refs/heads/master^{tree}");
|
ObjectId newTreeId = repo.resolve("refs/heads/master^{tree}");
|
||||||
return getLatestDiff(repo, oldTreeId, newTreeId);
|
return getLatestDiff(repo, oldTreeId, newTreeId);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -232,8 +232,8 @@ public class CreateProjectIT extends AbstractDaemonTest {
|
|||||||
tw.reset();
|
tw.reset();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
tw.release();
|
tw.close();
|
||||||
rw.release();
|
rw.close();
|
||||||
repo.close();
|
repo.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -209,7 +209,7 @@ public class CatServlet extends HttpServlet {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
getServletContext().log("Cannot read repository", e);
|
getServletContext().log("Cannot read repository", e);
|
||||||
|
@@ -136,15 +136,15 @@ public class AllProjectsConfig extends VersionedMetaData {
|
|||||||
updateRef(repo, ident, newRevision, "commit: " + msg);
|
updateRef(repo, ident, newRevision, "commit: " + msg);
|
||||||
revision = newRevision;
|
revision = newRevision;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (inserter != null) {
|
if (inserter != null) {
|
||||||
inserter.release();
|
inserter.close();
|
||||||
inserter = null;
|
inserter = null;
|
||||||
}
|
}
|
||||||
if (reader != null) {
|
if (reader != null) {
|
||||||
reader.release();
|
reader.close();
|
||||||
reader = null;
|
reader = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -280,7 +280,7 @@ public class ChangeUtil {
|
|||||||
oi.flush();
|
oi.flush();
|
||||||
revertCommit = revWalk.parseCommit(id);
|
revertCommit = revWalk.parseCommit(id);
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
RefControl refControl = ctl.getRefControl();
|
RefControl refControl = ctl.getRefControl();
|
||||||
@@ -344,7 +344,7 @@ public class ChangeUtil {
|
|||||||
|
|
||||||
return change.getId();
|
return change.getId();
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
@@ -403,7 +403,7 @@ public class ChangeUtil {
|
|||||||
oi.flush();
|
oi.flush();
|
||||||
newCommit = revWalk.parseCommit(id);
|
newCommit = revWalk.parseCommit(id);
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
PatchSet.Id id = nextPatchSetId(git, change.currentPatchSetId());
|
PatchSet.Id id = nextPatchSetId(git, change.currentPatchSetId());
|
||||||
@@ -426,7 +426,7 @@ public class ChangeUtil {
|
|||||||
|
|
||||||
return change.getId();
|
return change.getId();
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
|
@@ -144,7 +144,7 @@ public class ChangeKindCache {
|
|||||||
// having the same tree as would exist when the prior commit is
|
// having the same tree as would exist when the prior commit is
|
||||||
// cherry-picked onto the next commit's new first parent.
|
// cherry-picked onto the next commit's new first parent.
|
||||||
ThreeWayMerger merger = MergeUtil.newThreeWayMerger(
|
ThreeWayMerger merger = MergeUtil.newThreeWayMerger(
|
||||||
key.repo, MergeUtil.createDryRunInserter(), key.strategyName);
|
key.repo, MergeUtil.createDryRunInserter(key.repo), key.strategyName);
|
||||||
merger.setBase(prior.getParent(0));
|
merger.setBase(prior.getParent(0));
|
||||||
if (merger.merge(next.getParent(0), prior)
|
if (merger.merge(next.getParent(0), prior)
|
||||||
&& merger.getResultTreeId().equals(next.getTree())) {
|
&& merger.getResultTreeId().equals(next.getTree())) {
|
||||||
@@ -154,7 +154,7 @@ public class ChangeKindCache {
|
|||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
key.repo = null;
|
key.repo = null;
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -146,7 +146,7 @@ public class CherryPickChange {
|
|||||||
mergeUtilFactory.create(projectState).createCherryPickFromCommit(git, oi, mergeTip,
|
mergeUtilFactory.create(projectState).createCherryPickFromCommit(git, oi, mergeTip,
|
||||||
commitToCherryPick, committerIdent, commitMessage, revWalk);
|
commitToCherryPick, committerIdent, commitMessage, revWalk);
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cherryPickCommit == null) {
|
if (cherryPickCommit == null) {
|
||||||
@@ -184,7 +184,7 @@ public class CherryPickChange {
|
|||||||
cherryPickCommit, refControl);
|
cherryPickCommit, refControl);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
|
@@ -267,7 +267,7 @@ class Files implements ChildCollection<RevisionResource, FileResource> {
|
|||||||
db.get().accountPatchReviews().insert(inserts);
|
db.get().accountPatchReviews().insert(inserts);
|
||||||
return pathList;
|
return pathList;
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
|
@@ -79,7 +79,7 @@ class GetArchive implements RestReadView<RevisionResource> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
rw.release();
|
rw.close();
|
||||||
repo.close();
|
repo.close();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -92,7 +92,7 @@ class GetArchive implements RestReadView<RevisionResource> {
|
|||||||
return bin;
|
return bin;
|
||||||
} finally {
|
} finally {
|
||||||
if (close) {
|
if (close) {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
@@ -71,10 +71,10 @@ public class GetContent implements RestReadView<FileResource> {
|
|||||||
};
|
};
|
||||||
return result.setContentLength(object.getSize()).base64();
|
return result.setContentLength(object.getSize()).base64();
|
||||||
} finally {
|
} finally {
|
||||||
tw.release();
|
tw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -102,7 +102,7 @@ public class GetPatch implements RestReadView<RevisionResource> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void close() throws IOException {
|
public void close() throws IOException {
|
||||||
rw.release();
|
rw.close();
|
||||||
repo.close();
|
repo.close();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -123,7 +123,7 @@ public class GetPatch implements RestReadView<RevisionResource> {
|
|||||||
return bin;
|
return bin;
|
||||||
} finally {
|
} finally {
|
||||||
if (close) {
|
if (close) {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
@@ -81,7 +81,7 @@ public class GetRelated implements RestReadView<RevisionResource> {
|
|||||||
info.changes = walk(rsrc, rw, ref);
|
info.changes = walk(rsrc, rw, ref);
|
||||||
return info;
|
return info;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
|
@@ -68,7 +68,7 @@ class IncludedIn implements RestReadView<ChangeResource> {
|
|||||||
}
|
}
|
||||||
return new IncludedInInfo(IncludedInResolver.resolve(r, rw, rev));
|
return new IncludedInInfo(IncludedInResolver.resolve(r, rw, rev));
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
r.close();
|
r.close();
|
||||||
|
@@ -201,7 +201,7 @@ public class Mergeable implements RestReadView<RevisionResource> {
|
|||||||
"Cannot merge test change %d", change.getId().get()), e);
|
"Cannot merge test change %d", change.getId().get()), e);
|
||||||
return false;
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -139,10 +139,10 @@ public class RebaseChange {
|
|||||||
throw new IOException(e.getMessage());
|
throw new IOException(e.getMessage());
|
||||||
} finally {
|
} finally {
|
||||||
if (inserter != null) {
|
if (inserter != null) {
|
||||||
inserter.release();
|
inserter.close();
|
||||||
}
|
}
|
||||||
if (rw != null) {
|
if (rw != null) {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
if (git != null) {
|
if (git != null) {
|
||||||
git.close();
|
git.close();
|
||||||
|
@@ -59,24 +59,24 @@ public class BanCommit {
|
|||||||
*/
|
*/
|
||||||
public static NoteMap loadRejectCommitsMap(Repository repo)
|
public static NoteMap loadRejectCommitsMap(Repository repo)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
try {
|
try {
|
||||||
Ref ref = repo.getRef(RefNames.REFS_REJECT_COMMITS);
|
Ref ref = repo.getRef(RefNames.REFS_REJECT_COMMITS);
|
||||||
if (ref == null) {
|
if (ref == null) {
|
||||||
return NoteMap.newEmptyMap();
|
return NoteMap.newEmptyMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
RevWalk rw = new RevWalk(repo);
|
RevWalk rw = new RevWalk(repo);
|
||||||
try {
|
try {
|
||||||
RevCommit map = rw.parseCommit(ref.getObjectId());
|
RevCommit map = rw.parseCommit(ref.getObjectId());
|
||||||
return NoteMap.read(rw.getObjectReader(), map);
|
return NoteMap.read(rw.getObjectReader(), map);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} catch (IOException badMap) {
|
} catch (IOException badMap) {
|
||||||
throw new IOException("Cannot load "
|
throw new IOException("Cannot load " + RefNames.REFS_REJECT_COMMITS,
|
||||||
+ RefNames.REFS_REJECT_COMMITS, badMap);
|
badMap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Provider<IdentifiedUser> currentUser;
|
private final Provider<IdentifiedUser> currentUser;
|
||||||
private final GitRepositoryManager repoManager;
|
private final GitRepositoryManager repoManager;
|
||||||
@@ -139,8 +139,8 @@ public class BanCommit {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
inserter.release();
|
inserter.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -297,10 +297,10 @@ public class MergeOp {
|
|||||||
throw new MergeException("Cannot query the database", e);
|
throw new MergeException("Cannot query the database", e);
|
||||||
} finally {
|
} finally {
|
||||||
if (inserter != null) {
|
if (inserter != null) {
|
||||||
inserter.release();
|
inserter.close();
|
||||||
}
|
}
|
||||||
if (rw != null) {
|
if (rw != null) {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
if (repo != null) {
|
if (repo != null) {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -394,7 +394,7 @@ public class MergeUtil {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
final ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter());
|
final ThreeWayMerger m = newThreeWayMerger(repo, createDryRunInserter(repo));
|
||||||
try {
|
try {
|
||||||
return m.merge(new AnyObjectId[] {mergeTip, toMerge});
|
return m.merge(new AnyObjectId[] {mergeTip, toMerge});
|
||||||
} catch (NoMergeBaseException e) {
|
} catch (NoMergeBaseException e) {
|
||||||
@@ -441,7 +441,7 @@ public class MergeUtil {
|
|||||||
//
|
//
|
||||||
try {
|
try {
|
||||||
final ThreeWayMerger m =
|
final ThreeWayMerger m =
|
||||||
newThreeWayMerger(repo, createDryRunInserter());
|
newThreeWayMerger(repo, createDryRunInserter(repo));
|
||||||
m.setBase(toMerge.getParent(0));
|
m.setBase(toMerge.getParent(0));
|
||||||
return m.merge(mergeTip, toMerge);
|
return m.merge(mergeTip, toMerge);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@@ -468,28 +468,21 @@ public class MergeUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ObjectInserter createDryRunInserter() {
|
public static ObjectInserter createDryRunInserter(Repository db) {
|
||||||
return new ObjectInserter() {
|
final ObjectInserter delegate = db.newObjectInserter();
|
||||||
|
return new ObjectInserter.Filter() {
|
||||||
@Override
|
@Override
|
||||||
public ObjectId insert(int objectType, long length, InputStream in)
|
protected ObjectInserter delegate() {
|
||||||
throws IOException {
|
return delegate;
|
||||||
return idFor(objectType, length, in);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PackParser newPackParser(InputStream in) throws IOException {
|
public PackParser newPackParser(InputStream in) throws IOException {
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void flush() throws IOException {
|
public void flush() throws IOException {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void release() {
|
|
||||||
// Do nothing.
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -668,7 +661,7 @@ public class MergeUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void release() {
|
public void close() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return (ThreeWayMerger) m;
|
return (ThreeWayMerger) m;
|
||||||
|
@@ -153,8 +153,8 @@ public class NotesBranchUtil {
|
|||||||
}
|
}
|
||||||
updateRef(notesBranch);
|
updateRef(notesBranch);
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -380,7 +380,7 @@ public class SubmoduleOp {
|
|||||||
+ subscriber.get(), e);
|
+ subscriber.get(), e);
|
||||||
} finally {
|
} finally {
|
||||||
if (recRw != null) {
|
if (recRw != null) {
|
||||||
recRw.release();
|
recRw.close();
|
||||||
}
|
}
|
||||||
if (pdb != null) {
|
if (pdb != null) {
|
||||||
pdb.close();
|
pdb.close();
|
||||||
@@ -400,7 +400,7 @@ public class SubmoduleOp {
|
|||||||
b.finish();
|
b.finish();
|
||||||
return dc;
|
return dc;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -147,7 +147,7 @@ class TagSet {
|
|||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (rw != null) {
|
if (rw != null) {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,7 +189,7 @@ class TagSet {
|
|||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.warn("Error building tags for repository " + projectName, e);
|
log.warn("Error building tags for repository " + projectName, e);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -117,7 +117,7 @@ public abstract class VersionedMetaData {
|
|||||||
revision = id != null ? new RevWalk(reader).parseCommit(id) : null;
|
revision = id != null ? new RevWalk(reader).parseCommit(id) : null;
|
||||||
onLoad();
|
onLoad();
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
reader = null;
|
reader = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -299,12 +299,12 @@ public abstract class VersionedMetaData {
|
|||||||
newTree = null;
|
newTree = null;
|
||||||
|
|
||||||
if (inserter != null) {
|
if (inserter != null) {
|
||||||
inserter.release();
|
inserter.close();
|
||||||
inserter = null;
|
inserter = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (reader != null) {
|
if (reader != null) {
|
||||||
reader.release();
|
reader.close();
|
||||||
reader = null;
|
reader = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -310,7 +310,7 @@ public class ChangeBatchIndexer {
|
|||||||
getPathsAndIndex(id);
|
getPathsAndIndex(id);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -344,7 +344,7 @@ public class ChangeBatchIndexer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
df.release();
|
df.close();
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
fail("Failed to index commit " + b.name(), false, e);
|
fail("Failed to index commit " + b.name(), false, e);
|
||||||
@@ -389,7 +389,7 @@ public class ChangeBatchIndexer {
|
|||||||
oi.flush();
|
oi.flush();
|
||||||
return id;
|
return id;
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -407,7 +407,7 @@ public abstract class ChangeEmail extends NotificationEmail {
|
|||||||
log.error("Cannot format patch", e);
|
log.error("Cannot format patch", e);
|
||||||
return "";
|
return "";
|
||||||
} finally {
|
} finally {
|
||||||
fmt.release();
|
fmt.close();
|
||||||
git.close();
|
git.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -94,7 +94,7 @@ public class PatchSetNotificationSender {
|
|||||||
commit = revWalk.parseCommit(ObjectId.fromString(
|
commit = revWalk.parseCommit(ObjectId.fromString(
|
||||||
updatedPatchSet.getRevision().get()));
|
updatedPatchSet.getRevision().get()));
|
||||||
} finally {
|
} finally {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
}
|
}
|
||||||
final PatchSetInfo info = patchSetInfoFactory.get(commit, updatedPatchSet.getId());
|
final PatchSetInfo info = patchSetInfoFactory.get(commit, updatedPatchSet.getId());
|
||||||
final List<FooterLine> footerLines = commit.getFooterLines();
|
final List<FooterLine> footerLines = commit.getFooterLines();
|
||||||
|
@@ -435,7 +435,7 @@ public class ChangeNotes extends VersionedMetaData {
|
|||||||
this.reviewers = reviewers.build();
|
this.reviewers = reviewers.build();
|
||||||
submitRecords = ImmutableList.copyOf(parser.submitRecords);
|
submitRecords = ImmutableList.copyOf(parser.submitRecords);
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -75,7 +75,7 @@ public class PatchFile {
|
|||||||
bTree = bCommit.getTree();
|
bTree = bCommit.getTree();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -165,7 +165,7 @@ public class PatchListLoader extends CacheLoader<PatchListKey, PatchList> {
|
|||||||
return new PatchList(a, b, againstParent,
|
return new PatchList(a, b, againstParent,
|
||||||
entries.toArray(new PatchListEntry[entries.size()]));
|
entries.toArray(new PatchListEntry[entries.size()]));
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,7 +281,7 @@ public class PatchListLoader extends CacheLoader<PatchListKey, PatchList> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void release() {
|
public void close() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -319,7 +319,7 @@ public class PatchListLoader extends CacheLoader<PatchListKey, PatchList> {
|
|||||||
Map<String, ObjectId> resolved = new HashMap<String, ObjectId>();
|
Map<String, ObjectId> resolved = new HashMap<String, ObjectId>();
|
||||||
for (Map.Entry<String, MergeResult<? extends Sequence>> entry : r.entrySet()) {
|
for (Map.Entry<String, MergeResult<? extends Sequence>> entry : r.entrySet()) {
|
||||||
MergeResult<? extends Sequence> p = entry.getValue();
|
MergeResult<? extends Sequence> p = entry.getValue();
|
||||||
TemporaryBuffer buf = new TemporaryBuffer.LocalFile(10 * 1024 * 1024);
|
TemporaryBuffer buf = new TemporaryBuffer.LocalFile(null, 10 * 1024 * 1024);
|
||||||
try {
|
try {
|
||||||
fmt.formatMerge(buf, p, "BASE", oursName, theirsName, "UTF-8");
|
fmt.formatMerge(buf, p, "BASE", oursName, theirsName, "UTF-8");
|
||||||
buf.close();
|
buf.close();
|
||||||
@@ -381,7 +381,7 @@ public class PatchListLoader extends CacheLoader<PatchListKey, PatchList> {
|
|||||||
}
|
}
|
||||||
ins.flush();
|
ins.flush();
|
||||||
} finally {
|
} finally {
|
||||||
ins.release();
|
ins.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (save) {
|
if (save) {
|
||||||
@@ -400,7 +400,7 @@ public class PatchListLoader extends CacheLoader<PatchListKey, PatchList> {
|
|||||||
oi.flush();
|
oi.flush();
|
||||||
return id;
|
return id;
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -119,7 +119,7 @@ class PatchScriptBuilder {
|
|||||||
try {
|
try {
|
||||||
return build(content, comments, history);
|
return build(content, comments, history);
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -94,7 +94,7 @@ public class PatchSetInfoFactory {
|
|||||||
info.setParents(toParentInfos(src.getParents(), rw));
|
info.setParents(toParentInfos(src.getParents(), rw));
|
||||||
return info;
|
return info;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new PatchSetInfoNotAvailableException(e);
|
throw new PatchSetInfoNotAvailableException(e);
|
||||||
|
@@ -69,7 +69,7 @@ public class GetHead implements RestReadView<ProjectResource> {
|
|||||||
}
|
}
|
||||||
throw new AuthException("not allowed to see HEAD");
|
throw new AuthException("not allowed to see HEAD");
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
throw new ResourceNotFoundException(Constants.HEAD);
|
throw new ResourceNotFoundException(Constants.HEAD);
|
||||||
|
@@ -100,7 +100,7 @@ class ListDashboards implements RestReadView<ProjectResource> {
|
|||||||
}
|
}
|
||||||
return all;
|
return all;
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
git.close();
|
git.close();
|
||||||
@@ -134,7 +134,7 @@ class ListDashboards implements RestReadView<ProjectResource> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
tw.release();
|
tw.close();
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
@@ -301,7 +301,7 @@ public class PerformCreateProject {
|
|||||||
+ createProjectArgs.getProjectName(), e);
|
+ createProjectArgs.getProjectName(), e);
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -441,7 +441,7 @@ public class ChangeData {
|
|||||||
commitMessage = c.getFullMessage();
|
commitMessage = c.getFullMessage();
|
||||||
commitFooters = c.getFooterLines();
|
commitFooters = c.getFooterLines();
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -138,7 +138,7 @@ class ConflictsPredicate extends OrPredicate<ChangeData> {
|
|||||||
} catch (NoSuchProjectException e) {
|
} catch (NoSuchProjectException e) {
|
||||||
throw new IllegalStateException(e);
|
throw new IllegalStateException(e);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -109,7 +109,7 @@ public abstract class RevWalkPredicate extends OperatorPredicate<ChangeData> {
|
|||||||
try {
|
try {
|
||||||
return match(repo, rw, args);
|
return match(repo, rw, args);
|
||||||
} finally {
|
} finally {
|
||||||
rw.release();
|
rw.close();
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
repo.close();
|
repo.close();
|
||||||
|
@@ -130,7 +130,7 @@ public class PRED_commit_edits_2 extends Predicate.P2 {
|
|||||||
} catch (IOException err) {
|
} catch (IOException err) {
|
||||||
throw new JavaException(this, 1, err);
|
throw new JavaException(this, 1, err);
|
||||||
} finally {
|
} finally {
|
||||||
reader.release();
|
reader.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
return engine.fail();
|
return engine.fail();
|
||||||
|
@@ -127,7 +127,7 @@ public class IncludedInResolverTest extends RepositoryTestCase {
|
|||||||
|
|
||||||
@After
|
@After
|
||||||
public void tearDown() throws Exception {
|
public void tearDown() throws Exception {
|
||||||
revWalk.release();
|
revWalk.close();
|
||||||
super.tearDown();
|
super.tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -208,7 +208,7 @@ public class ChangeNotesTest {
|
|||||||
assertEquals(author.getWhen(), committer.getWhen());
|
assertEquals(author.getWhen(), committer.getWhen());
|
||||||
assertEquals(author.getTimeZone(), committer.getTimeZone());
|
assertEquals(author.getTimeZone(), committer.getTimeZone());
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,7 +229,7 @@ public class ChangeNotesTest {
|
|||||||
+ "Label: -Code-Review\n",
|
+ "Label: -Code-Review\n",
|
||||||
commit.getFullMessage());
|
commit.getFullMessage());
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ public class ChangeNotesTest {
|
|||||||
assertEquals(author.getWhen(), committer.getWhen());
|
assertEquals(author.getWhen(), committer.getWhen());
|
||||||
assertEquals(author.getTimeZone(), committer.getTimeZone());
|
assertEquals(author.getTimeZone(), committer.getTimeZone());
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -302,7 +302,7 @@ public class ChangeNotesTest {
|
|||||||
+ "Submitted-with: RULE_ERROR Problem with patch set: 1\n",
|
+ "Submitted-with: RULE_ERROR Problem with patch set: 1\n",
|
||||||
commit.getFullMessage());
|
commit.getFullMessage());
|
||||||
} finally {
|
} finally {
|
||||||
walk.release();
|
walk.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -431,7 +431,7 @@ public class CommitMsgHookTest extends HookTestCase {
|
|||||||
oi.flush();
|
oi.flush();
|
||||||
return e;
|
return e;
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,7 +457,7 @@ public class CommitMsgHookTest extends HookTestCase {
|
|||||||
fail(Constants.HEAD + " did not change: " + ref.getResult());
|
fail(Constants.HEAD + " did not change: " + ref.getResult());
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
oi.release();
|
oi.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,12 +1,13 @@
|
|||||||
include_defs('//lib/maven.defs')
|
include_defs('//lib/maven.defs')
|
||||||
|
|
||||||
VERS = '3.4.2.201412180340-r'
|
REPO = MAVEN_CENTRAL # Leave here even if set to MAVEN_CENTRAL.
|
||||||
|
VERS = '4.5.4.201711221230-r'
|
||||||
|
|
||||||
maven_jar(
|
maven_jar(
|
||||||
name = 'jgit',
|
name = 'jgit',
|
||||||
id = 'org.eclipse.jgit:org.eclipse.jgit:' + VERS,
|
id = 'org.eclipse.jgit:org.eclipse.jgit:' + VERS,
|
||||||
bin_sha1 = 'cc501e3db3f5a00713382753d7260ecf2d1fe7fa',
|
bin_sha1 = 'b30f322c7d441260f4fa454ce5de65cf7e961274',
|
||||||
src_sha1 = '19c71b70882b83f4e15a888ff8ef4f2e0507efa0',
|
src_sha1 = '459f648f8bbf10e1aa0b122d4f9919e1779922e9',
|
||||||
license = 'jgit',
|
license = 'jgit',
|
||||||
unsign = True,
|
unsign = True,
|
||||||
deps = [':ewah'],
|
deps = [':ewah'],
|
||||||
@@ -20,7 +21,7 @@ maven_jar(
|
|||||||
maven_jar(
|
maven_jar(
|
||||||
name = 'jgit-servlet',
|
name = 'jgit-servlet',
|
||||||
id = 'org.eclipse.jgit:org.eclipse.jgit.http.server:' + VERS,
|
id = 'org.eclipse.jgit:org.eclipse.jgit.http.server:' + VERS,
|
||||||
sha1 = '9965a9cbb9673572848dea6d6eecf51d3e7d360c',
|
sha1 = '264fac29b6007146127156113ed3d4e0aa922b39',
|
||||||
license = 'jgit',
|
license = 'jgit',
|
||||||
deps = [':jgit'],
|
deps = [':jgit'],
|
||||||
unsign = True,
|
unsign = True,
|
||||||
@@ -33,7 +34,7 @@ maven_jar(
|
|||||||
maven_jar(
|
maven_jar(
|
||||||
name = 'jgit-archive',
|
name = 'jgit-archive',
|
||||||
id = 'org.eclipse.jgit:org.eclipse.jgit.archive:' + VERS,
|
id = 'org.eclipse.jgit:org.eclipse.jgit.archive:' + VERS,
|
||||||
sha1 = '4232b91d3f6e77aff86894170fdfb68d455906a8',
|
sha1 = '6b0b919ee42bf8276193c3c03581634bc3aa7e18',
|
||||||
license = 'jgit',
|
license = 'jgit',
|
||||||
deps = [':jgit',
|
deps = [':jgit',
|
||||||
'//lib/commons:compress',
|
'//lib/commons:compress',
|
||||||
@@ -49,7 +50,7 @@ maven_jar(
|
|||||||
maven_jar(
|
maven_jar(
|
||||||
name = 'junit',
|
name = 'junit',
|
||||||
id = 'org.eclipse.jgit:org.eclipse.jgit.junit:' + VERS,
|
id = 'org.eclipse.jgit:org.eclipse.jgit.junit:' + VERS,
|
||||||
sha1 = '8e69847e02cea0898c31e3a3066c8b4416938593',
|
sha1 = '58ca0a0fba72f2db6e6b27bd464dc44a946a617c',
|
||||||
license = 'DO_NOT_DISTRIBUTE',
|
license = 'DO_NOT_DISTRIBUTE',
|
||||||
unsign = True,
|
unsign = True,
|
||||||
deps = [':jgit'],
|
deps = [':jgit'],
|
||||||
|
Submodule plugins/reviewnotes updated: b544447649...0fc4b128d2
Reference in New Issue
Block a user