GitFile: Catch RepositoryNotFoundException and rethrow as NoSuchProjectException

Change-Id: Iebf1b7a807c3d16e06b0e92bf5c98bd71bc92d5b
diff --git a/src/main/java/com/google/gerrit/server/git/meta/GitFile.java b/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
index 0ff7aa1..beca5b3 100644
--- a/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
+++ b/src/main/java/com/google/gerrit/server/git/meta/GitFile.java
@@ -16,6 +16,7 @@
 
 import com.google.gerrit.reviewdb.client.Branch;
 import com.google.gerrit.reviewdb.client.File;
+import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.gerrit.server.git.MetaDataUpdate;
 import com.google.gerrit.server.git.VersionedMetaData;
@@ -24,6 +25,7 @@
 import com.google.inject.assistedinject.Assisted;
 import java.io.IOException;
 import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.errors.RepositoryNotFoundException;
 import org.eclipse.jgit.lib.CommitBuilder;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
@@ -54,20 +56,26 @@
   }
 
   public String read() throws ConfigInvalidException, IOException, NoSuchProjectException {
-    try (Repository repo = repos.openRepository(branch.getParentKey())) {
+    Project.NameKey project = branch.getParentKey();
+    try (Repository repo = repos.openRepository(project)) {
       load(repo);
       return text;
+    } catch (RepositoryNotFoundException e) {
+      throw new NoSuchProjectException(project);
     }
   }
 
   public RevCommit write(String fileContent, String commitMessage)
       throws ConfigInvalidException, IOException, NoSuchProjectException {
-    try (MetaDataUpdate md = metaDataUpdateFactory.create(branch.getParentKey())) {
+    Project.NameKey project = branch.getParentKey();
+    try (MetaDataUpdate md = metaDataUpdateFactory.create(project)) {
       load(md);
       text = fileContent;
       md.getCommitBuilder().setCommitter(metaDataUpdateFactory.getUserPersonIdent());
       md.setMessage(commitMessage);
       return commit(md);
+    } catch (RepositoryNotFoundException e) {
+      throw new NoSuchProjectException(project);
     }
   }