From 24d08fb7bef89584e0ea39e55aba9fb92bc500e3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 09 Jun 2011 19:41:53 -0400
Subject: [PATCH] Simplified screenshot process and automated thumbnail generation.
---
src/com/gitblit/GitBlit.java | 39 +++++++++++++++++++--------------------
1 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 9d06f35..0132623 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -35,10 +35,10 @@
import org.slf4j.LoggerFactory;
import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.models.RepositoryModel;
+import com.gitblit.models.UserModel;
import com.gitblit.utils.JGitUtils;
import com.gitblit.utils.StringUtils;
-import com.gitblit.wicket.models.RepositoryModel;
-import com.gitblit.wicket.models.UserModel;
public class GitBlit implements ServletContextListener {
@@ -93,7 +93,7 @@
public List<String> getOtherCloneUrls(String repositoryName) {
List<String> cloneUrls = new ArrayList<String>();
- for (String url : storedSettings.getStrings(Keys.git.otherUrls)) {
+ for (String url : storedSettings.getStrings(Keys.web.otherUrls)) {
cloneUrls.add(MessageFormat.format(url, repositoryName));
}
return cloneUrls;
@@ -142,7 +142,7 @@
public List<String> getRepositoryList() {
return JGitUtils.getRepositoryList(repositoriesFolder, exportAll,
- storedSettings.getBoolean(Keys.git.nestedRepositories, true));
+ storedSettings.getBoolean(Keys.git.searchRepositoriesSubfolders, true));
}
public Repository getRepository(String repositoryName) {
@@ -151,8 +151,8 @@
r = repositoryResolver.open(null, repositoryName);
} catch (RepositoryNotFoundException e) {
r = null;
- logger.error("GitBlit.getRepository(String) failed to find repository "
- + repositoryName);
+ logger.error("GitBlit.getRepository(String) failed to find "
+ + new File(repositoriesFolder, repositoryName).getAbsolutePath());
} catch (ServiceNotEnabledException e) {
r = null;
e.printStackTrace();
@@ -186,6 +186,9 @@
public RepositoryModel getRepositoryModel(String repositoryName) {
Repository r = getRepository(repositoryName);
+ if (r == null) {
+ return null;
+ }
RepositoryModel model = new RepositoryModel();
model.name = repositoryName;
model.hasCommits = JGitUtils.hasCommits(r);
@@ -200,6 +203,7 @@
"accessRestriction", null));
model.showRemoteBranches = getConfig(config, "showRemoteBranches", false);
model.isFrozen = getConfig(config, "isFrozen", false);
+ model.showReadme = getConfig(config, "showReadme", false);
}
r.close();
return model;
@@ -221,6 +225,10 @@
boolean isCreate) throws GitBlitException {
Repository r = null;
if (isCreate) {
+ // ensure created repository name ends with .git
+ if (!repository.name.toLowerCase().endsWith(org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
+ repository.name += org.eclipse.jgit.lib.Constants.DOT_GIT_EXT;
+ }
if (new File(repositoriesFolder, repository.name).exists()) {
throw new GitBlitException(MessageFormat.format(
"Can not create repository ''{0}'' because it already exists.",
@@ -228,7 +236,7 @@
}
// create repository
logger.info("create repository " + repository.name);
- r = JGitUtils.createRepository(repositoriesFolder, repository.name, true);
+ r = JGitUtils.createRepository(repositoriesFolder, repository.name);
} else {
// rename repository
if (!repositoryName.equalsIgnoreCase(repository.name)) {
@@ -275,6 +283,7 @@
repository.accessRestriction.name());
config.setBoolean("gitblit", null, "showRemoteBranches", repository.showRemoteBranches);
config.setBoolean("gitblit", null, "isFrozen", repository.isFrozen);
+ config.setBoolean("gitblit", null, "showReadme", repository.showReadme);
try {
config.save();
} catch (IOException e) {
@@ -303,19 +312,8 @@
return false;
}
- public boolean renameRepository(RepositoryModel model, String newName) {
- File folder = new File(repositoriesFolder, model.name);
- if (folder.exists() && folder.isDirectory()) {
- File newFolder = new File(repositoriesFolder, newName);
- if (folder.renameTo(newFolder)) {
- return loginService.renameRole(model.name, newName);
- }
- }
- return false;
- }
-
public void configureContext(IStoredSettings settings) {
- logger.info("Using configuration from " + settings.toString());
+ logger.info("Reading configuration from " + settings.toString());
this.storedSettings = settings;
repositoriesFolder = new File(settings.getString(Keys.git.repositoriesFolder, "repos"));
exportAll = settings.getBoolean(Keys.git.exportAll, true);
@@ -325,6 +323,7 @@
@Override
public void contextInitialized(ServletContextEvent contextEvent) {
if (storedSettings == null) {
+ // for running gitblit as a traditional webapp in a servlet container
WebXmlSettings webxmlSettings = new WebXmlSettings(contextEvent.getServletContext());
configureContext(webxmlSettings);
}
@@ -332,6 +331,6 @@
@Override
public void contextDestroyed(ServletContextEvent contextEvent) {
- logger.info("GitBlit context destroyed by servlet container.");
+ logger.info("Gitblit context destroyed by servlet container.");
}
}
--
Gitblit v1.9.1