From c332d9a3d4d9485cfe60fb8dd9db7dbde971642c Mon Sep 17 00:00:00 2001 From: James Moger Date: Tue, 10 Nov 2015 08:58:35 -0500 Subject: [PATCH] Do not display fork button if target repo already exists (fixes #944) --- src/main/java/com/gitblit/wicket/pages/RepositoryPage.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java index 9639a0c1..7e164a8c 100644 --- a/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/main/java/com/gitblit/wicket/pages/RepositoryPage.java @@ -64,6 +64,7 @@ import com.gitblit.utils.ArrayUtils; import com.gitblit.utils.BugtraqProcessor; import com.gitblit.utils.DeepCopier; import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.ModelUtils; import com.gitblit.utils.RefLogUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.CacheControl; @@ -370,8 +371,10 @@ public abstract class RepositoryPage extends RootPage { add(new ExternalLink("myForkLink", "").setVisible(false)); } else { String fork = app().repositories().getFork(user.username, model.name); + String userRepo = ModelUtils.getPersonalPath(user.username) + "/" + StringUtils.stripDotGit(StringUtils.getLastPathElement(model.name)); + boolean hasUserRepo = app().repositories().hasRepository(userRepo); boolean hasFork = fork != null; - boolean canFork = user.canFork(model) && model.hasCommits; + boolean canFork = user.canFork(model) && model.hasCommits && !hasUserRepo; if (hasFork || !canFork) { // user not allowed to fork or fork already exists or repo forbids forking -- 2.39.5