summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2012-02-03 22:49:14 -0500
committerJames Moger <james.moger@gitblit.com>2012-02-03 22:49:14 -0500
commitb86562942b1d4a498e337b28201e0db308fa51c8 (patch)
tree06410c9d314587e809954aa9be2f268bc1040407 /src/com
parentb7403152813c7fee783e3c999c7f7ae9fbaacce0 (diff)
downloadgitblit-b86562942b1d4a498e337b28201e0db308fa51c8.tar.gz
gitblit-b86562942b1d4a498e337b28201e0db308fa51c8.zip
Setting to control display/serving non-bare repositories (issue 49)
Diffstat (limited to 'src/com')
-rw-r--r--src/com/gitblit/GitBlit.java7
-rw-r--r--src/com/gitblit/utils/JGitUtils.java25
2 files changed, 14 insertions, 18 deletions
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 7a6411c4..7cb813fe 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -123,8 +123,6 @@ public class GitBlit implements ServletContextListener {
private File repositoriesFolder;
- private boolean exportAll = true;
-
private IUserService userService;
private IStoredSettings settings;
@@ -642,7 +640,8 @@ public class GitBlit implements ServletContextListener {
* @return list of all repositories
*/
public List<String> getRepositoryList() {
- return JGitUtils.getRepositoryList(repositoriesFolder, exportAll,
+ return JGitUtils.getRepositoryList(repositoriesFolder,
+ settings.getBoolean(Keys.git.onlyAccessBareRepositories, false),
settings.getBoolean(Keys.git.searchRepositoriesSubfolders, true));
}
@@ -1767,7 +1766,7 @@ public class GitBlit implements ServletContextListener {
this.settings = settings;
repositoriesFolder = getRepositoriesFolder();
logger.info("Git repositories folder " + repositoriesFolder.getAbsolutePath());
- repositoryResolver = new FileResolver<Void>(repositoriesFolder, exportAll);
+ repositoryResolver = new FileResolver<Void>(repositoriesFolder, true);
serverStatus = new ServerStatus(isGO());
String realm = settings.getString(Keys.realm.userService, "users.properties");
IUserService loginService = null;
diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java
index c80fb8ae..1c155ff4 100644
--- a/src/com/gitblit/utils/JGitUtils.java
+++ b/src/com/gitblit/utils/JGitUtils.java
@@ -290,21 +290,21 @@ public class JGitUtils {
* Returns a list of repository names in the specified folder.
*
* @param repositoriesFolder
- * @param exportAll
- * if true, all repositories are listed. If false only the
- * repositories with a "git-daemon-export-ok" file are included
+ * @param onlyBare
+ * if true, only bare repositories repositories are listed. If
+ * false all repositories are included.
* @param searchSubfolders
* recurse into subfolders to find grouped repositories
* @return list of repository names
*/
- public static List<String> getRepositoryList(File repositoriesFolder, boolean exportAll,
+ public static List<String> getRepositoryList(File repositoriesFolder, boolean onlyBare,
boolean searchSubfolders) {
List<String> list = new ArrayList<String>();
if (repositoriesFolder == null || !repositoriesFolder.exists()) {
return list;
}
list.addAll(getRepositoryList(repositoriesFolder.getAbsolutePath(), repositoriesFolder,
- exportAll, searchSubfolders));
+ onlyBare, searchSubfolders));
StringUtils.sortRepositorynames(list);
return list;
}
@@ -316,24 +316,21 @@ public class JGitUtils {
* basePath is stripped from the repository name as repositories
* are relative to this path
* @param searchFolder
- * @param exportAll
- * if true all repositories are listed. If false only the
- * repositories with a "git-daemon-export-ok" file are included
+ * @param onlyBare
+ * if true only bare repositories will be listed. if false all
+ * repositories are included.
* @param searchSubfolders
* recurse into subfolders to find grouped repositories
* @return
*/
private static List<String> getRepositoryList(String basePath, File searchFolder,
- boolean exportAll, boolean searchSubfolders) {
+ boolean onlyBare, boolean searchSubfolders) {
List<String> list = new ArrayList<String>();
for (File file : searchFolder.listFiles()) {
if (file.isDirectory()) {
File gitDir = FileKey.resolve(new File(searchFolder, file.getName()), FS.DETECTED);
if (gitDir != null) {
- boolean exportRepository = exportAll
- || new File(gitDir, "git-daemon-export-ok").exists();
-
- if (!exportRepository) {
+ if (onlyBare && gitDir.getName().equals(".git")) {
continue;
}
// determine repository name relative to base path
@@ -342,7 +339,7 @@ public class JGitUtils {
list.add(repository);
} else if (searchSubfolders && file.canRead()) {
// look for repositories in subfolders
- list.addAll(getRepositoryList(basePath, file, exportAll, searchSubfolders));
+ list.addAll(getRepositoryList(basePath, file, onlyBare, searchSubfolders));
}
}
}