Close repository in ref-updated listener

onGitReferenceUpdated() created two MetaDataUpdate instances per
refs/meta/config update and never closed them, leaking the underlying
Repository reference on every project config change. Found by the
repository-leak tracking of the acceptance test framework when the
first test for this plugin was added.

Use a single MetaDataUpdate in try-with-resources for both the old
and the new revision read.

Change-Id: I6d3a91e04c85f2b7a1c9e8f5063d2b74915ac0e8
diff --git a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
index 3225d95..9f13a86 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/download/command/project/DownloadCommandUpdater.java
@@ -111,18 +111,16 @@
   public void onGitReferenceUpdated(Event event) {
     if (event.getRefName().equals(RefNames.REFS_CONFIG)) {
       Project.NameKey p = Project.nameKey(event.getProjectName());
-      try {
+      try (MetaDataUpdate md = metaDataUpdateFactory.create(p)) {
         ProjectConfig oldCfg =
-            projectConfigFactory.read(
-                metaDataUpdateFactory.create(p), ObjectId.fromString(event.getOldObjectId()));
+            projectConfigFactory.read(md, ObjectId.fromString(event.getOldObjectId()));
         PluginConfig oldPluginCfg = oldCfg.getPluginConfig(pluginName);
         for (String name : oldPluginCfg.getNames()) {
           removeCommand(p, name);
         }
 
         ProjectConfig newCfg =
-            projectConfigFactory.read(
-                metaDataUpdateFactory.create(p), ObjectId.fromString(event.getNewObjectId()));
+            projectConfigFactory.read(md, ObjectId.fromString(event.getNewObjectId()));
         PluginConfig newPluginCfg = newCfg.getPluginConfig(pluginName);
         for (String name : newPluginCfg.getNames()) {
           installCommand(p, name, newPluginCfg.getString(name));