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:
Edwin Kempin
2018-12-27 08:49:27 +01:00
parent 466ff56468
commit 4a3c2d14ca
45 changed files with 112 additions and 113 deletions

View File

@@ -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();
} }
} }

View File

@@ -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);
} }
} }

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();
} }
} }

View File

@@ -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);

View File

@@ -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;
} }
} }

View File

@@ -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();

View File

@@ -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();
} }
} }

View File

@@ -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();

View File

@@ -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();

View File

@@ -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 {

View File

@@ -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();

View File

@@ -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 {

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();
} }
} }

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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;

View File

@@ -153,8 +153,8 @@ public class NotesBranchUtil {
} }
updateRef(notesBranch); updateRef(notesBranch);
} finally { } finally {
revWalk.release(); revWalk.close();
reader.release(); reader.close();
} }
} }

View File

@@ -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();
} }
} }

View File

@@ -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();
} }
} }

View File

@@ -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;
} }
} }

View File

@@ -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();
} }
} }

View File

@@ -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();
} }
} }

View File

@@ -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();

View File

@@ -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();
} }
} }

View File

@@ -75,7 +75,7 @@ public class PatchFile {
bTree = bCommit.getTree(); bTree = bCommit.getTree();
} }
} finally { } finally {
reader.release(); reader.close();
} }
} }

View File

@@ -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();
} }
} }
} }

View File

@@ -119,7 +119,7 @@ class PatchScriptBuilder {
try { try {
return build(content, comments, history); return build(content, comments, history);
} finally { } finally {
reader.release(); reader.close();
} }
} }

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;
} }

View File

@@ -301,7 +301,7 @@ public class PerformCreateProject {
+ createProjectArgs.getProjectName(), e); + createProjectArgs.getProjectName(), e);
throw e; throw e;
} finally { } finally {
oi.release(); oi.close();
} }
} }
} }

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();

View File

@@ -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();
} }

View File

@@ -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();
} }
} }

View File

@@ -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();
} }
} }
} }

View File

@@ -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'],