Merge "Implement PatchSetSelectBox2"
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
index d8979cc2..c51a6ec 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/LocalDiskRepositoryManager.java
@@ -164,10 +164,23 @@
// on disk; for instance when the project has been created directly on the
// file-system through replication.
//
- if (FileKey.resolve(gitDirOf(name), FS.DETECTED) != null) {
- onCreateProject(name);
+ if (!name.get().endsWith(Constants.DOT_GIT_EXT)) {
+ if (FileKey.resolve(gitDirOf(name), FS.DETECTED) != null) {
+ onCreateProject(name);
+ } else {
+ throw new RepositoryNotFoundException(gitDirOf(name));
+ }
} else {
- throw new RepositoryNotFoundException(gitDirOf(name));
+ final File directory = gitDirOf(name);
+ if (FileKey.isGitRepository(new File(directory, Constants.DOT_GIT),
+ FS.DETECTED)) {
+ onCreateProject(name);
+ } else if (FileKey.isGitRepository(new File(directory.getParentFile(),
+ directory.getName() + Constants.DOT_GIT_EXT), FS.DETECTED)) {
+ onCreateProject(name);
+ } else {
+ throw new RepositoryNotFoundException(gitDirOf(name));
+ }
}
}
final FileKey loc = FileKey.lenient(gitDirOf(name), FS.DETECTED);