diff options
author | James Moger <james.moger@gitblit.com> | 2012-02-03 22:49:14 -0500 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2012-02-03 22:49:14 -0500 |
commit | b86562942b1d4a498e337b28201e0db308fa51c8 (patch) | |
tree | 06410c9d314587e809954aa9be2f268bc1040407 /src/com | |
parent | b7403152813c7fee783e3c999c7f7ae9fbaacce0 (diff) | |
download | gitblit-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.java | 7 | ||||
-rw-r--r-- | src/com/gitblit/utils/JGitUtils.java | 25 |
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));
}
}
}
|