Merge "Fix RepoView leak in CodeOwnerConfigValidator"
diff --git a/java/com/google/gerrit/plugins/codeowners/validation/CodeOwnerConfigValidator.java b/java/com/google/gerrit/plugins/codeowners/validation/CodeOwnerConfigValidator.java
index 8411568..1a08131 100644
--- a/java/com/google/gerrit/plugins/codeowners/validation/CodeOwnerConfigValidator.java
+++ b/java/com/google/gerrit/plugins/codeowners/validation/CodeOwnerConfigValidator.java
@@ -306,15 +306,15 @@
} else {
try (InMemoryInserter ins = new InMemoryInserter(repository);
ObjectReader reader = ins.newReader();
- RevWalk rw = new RevWalk(reader)) {
+ RevWalk rw = new RevWalk(reader);
+ RepoView repoView = new RepoView(repository, rw, ins)) {
ChangeNotes changeNotes =
changeNotesFactory.create(projectState.getNameKey(), commit.change().getId());
PatchSet patchSet = patchSetUtil.get(changeNotes, patchSetId);
IdentifiedUser patchSetUploader = userFactory.create(patchSet.uploader());
validationResult =
validateCodeOwnerConfig(
- diffOperationsForCommitValidationFactory.create(
- new RepoView(repository, rw, ins), ins),
+ diffOperationsForCommitValidationFactory.create(repoView, ins),
branchNameKey,
commit,
patchSetUploader,
diff --git a/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigValidatorTest.java b/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigValidatorTest.java
index c3dece0..0957119 100644
--- a/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigValidatorTest.java
+++ b/javatests/com/google/gerrit/plugins/codeowners/backend/config/CodeOwnersPluginConfigValidatorTest.java
@@ -66,7 +66,8 @@
new TestRepository<>(repoManager.openRepository(project));
ObjectInserter ins = testRepo.getRepository().newObjectInserter();
ObjectReader reader = ins.newReader();
- RevWalk revWalk = new RevWalk(reader)) {
+ RevWalk revWalk = new RevWalk(reader);
+ RepoView repoView = new RepoView(testRepo.getRepository(), revWalk, ins)) {
RevCommit commit =
testRepo
.commit()
@@ -81,9 +82,7 @@
receiveEvent.commit = commit;
receiveEvent.revWalk = testRepo.getRevWalk();
receiveEvent.repoConfig = new Config();
- receiveEvent.diffOperations =
- diffOperationsForCommitValidationFactory.create(
- new RepoView(testRepo.getRepository(), revWalk, ins), ins);
+ receiveEvent.diffOperations = diffOperationsForCommitValidationFactory.create(repoView, ins);
CommitValidationException exception =
assertThrows(
CommitValidationException.class,