From 143567439e9f4e579f50786b591292812fffc275 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 18 Jun 2013 21:56:32 -0400
Subject: [PATCH] Do not advertise refs/gitblit/* refs to non-admin accounts
---
src/main/java/com/gitblit/wicket/panels/RefsPanel.java | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/panels/RefsPanel.java b/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
index 5776a13..7ea3539 100644
--- a/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
@@ -28,10 +28,10 @@
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
-import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.revwalk.RevCommit;
+import com.gitblit.Constants;
import com.gitblit.models.RefModel;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitPage;
@@ -42,8 +42,6 @@
private static final long serialVersionUID = 1L;
- private static final String R_CHANGES = "refs/changes/";
-
public RefsPanel(String id, final String repositoryName, RevCommit c,
Map<ObjectId, List<RefModel>> refs) {
this(id, repositoryName, refs.get(c.getId()));
@@ -110,10 +108,18 @@
// local head
linkClass = LogPage.class;
cssClass = "headRef";
- } else if (name.startsWith(R_CHANGES)) {
+ } else if (name.startsWith(Constants.R_CHANGES)) {
// Gerrit change ref
- name = name.substring(R_CHANGES.length());
+ name = name.substring(Constants.R_CHANGES.length());
cssClass = "otherRef";
+ } else if (name.startsWith(Constants.R_PULL)) {
+ // Pull Request ref
+ name = "pull #" + name.substring(Constants.R_PULL.length());
+ if (name.endsWith("/head")) {
+ // strip pull request head from name
+ name = name.substring(0, name.length() - "/head".length());
+ }
+ cssClass = "pullRef";
} else if (name.startsWith(Constants.R_REMOTES)) {
// remote branch
linkClass = LogPage.class;
--
Gitblit v1.9.1