From 2ea85bfe371215ef21fcd528bc40fa57c48ee698 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 31 Oct 2012 16:38:03 -0400
Subject: [PATCH] Personal repositories must always be owned by the account the repo is stored in
---
src/com/gitblit/wicket/pages/EmptyRepositoryPage.java | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/EmptyRepositoryPage.java b/src/com/gitblit/wicket/pages/EmptyRepositoryPage.java
index b5f4a35..ad74af8 100644
--- a/src/com/gitblit/wicket/pages/EmptyRepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/EmptyRepositoryPage.java
@@ -22,9 +22,11 @@
import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
-import com.gitblit.Constants;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
+import com.gitblit.models.RepositoryModel;
+import com.gitblit.utils.ArrayUtils;
+import com.gitblit.wicket.GitblitRedirectException;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.RepositoryUrlPanel;
@@ -33,22 +35,30 @@
public EmptyRepositoryPage(PageParameters params) {
super(params);
+ setVersioned(false);
+
String repositoryName = WicketUtils.getRepositoryName(params);
+ RepositoryModel repository = GitBlit.self().getRepositoryModel(repositoryName);
+
+ if (repository.hasCommits) {
+ // redirect to the summary page if this repository is not empty
+ throw new GitblitRedirectException(SummaryPage.class, params);
+ }
+
setupPage(repositoryName, getString("gb.emptyRepository"));
List<String> repositoryUrls = new ArrayList<String>();
if (GitBlit.getBoolean(Keys.git.enableGitServlet, true)) {
- StringBuilder sb = new StringBuilder();
- sb.append(WicketUtils.getGitblitURL(getRequestCycle().getRequest()));
- sb.append(Constants.GIT_PATH);
- sb.append(repositoryName);
- repositoryUrls.add(sb.toString());
+ // add the Gitblit repository url
+ repositoryUrls.add(getRepositoryUrl(repository));
}
repositoryUrls.addAll(GitBlit.self().getOtherCloneUrls(repositoryName));
+ String primaryUrl = ArrayUtils.isEmpty(repositoryUrls) ? "" : repositoryUrls.get(0);
add(new Label("repository", repositoryName));
- add(new RepositoryUrlPanel("pushurl", repositoryUrls.get(0)));
- add(new Label("syntax", MessageFormat.format("git remote add gitblit {0}\ngit push gitblit master", repositoryUrls.get(0))));
+ add(new RepositoryUrlPanel("pushurl", primaryUrl));
+ add(new Label("cloneSyntax", MessageFormat.format("git clone {0}", repositoryUrls.get(0))));
+ add(new Label("remoteSyntax", MessageFormat.format("git remote add gitblit {0}\ngit push gitblit master", primaryUrl)));
}
}
--
Gitblit v1.9.1