From b5a318c0e6340dc546323ea2ccd3861e55beff62 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 31 May 2013 08:34:21 -0400
Subject: [PATCH] Gracefully handle branch creation in daily log digests
---
src/main/java/com/gitblit/wicket/panels/RefsPanel.java | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/gitblit/wicket/panels/RefsPanel.java b/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
index c3807ac..dc852e2 100644
--- a/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/RefsPanel.java
@@ -22,6 +22,7 @@
import java.util.Map;
import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
@@ -35,7 +36,6 @@
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.pages.CommitPage;
import com.gitblit.wicket.pages.LogPage;
-import com.gitblit.wicket.pages.RepositoryPage;
import com.gitblit.wicket.pages.TagPage;
public class RefsPanel extends Panel {
@@ -43,6 +43,8 @@
private static final long serialVersionUID = 1L;
private static final String R_CHANGES = "refs/changes/";
+
+ private static final String R_PULL= "refs/pull/";
public RefsPanel(String id, final String repositoryName, RevCommit c,
Map<ObjectId, List<RefModel>> refs) {
@@ -99,7 +101,7 @@
String name = entry.displayName;
String objectid = entry.getReferencedObjectId().getName();
boolean breakLine = false;
- Class<? extends RepositoryPage> linkClass = CommitPage.class;
+ Class<? extends WebPage> linkClass = CommitPage.class;
String cssClass = "";
if (name.startsWith(Constants.R_HEADS)) {
// local branch
@@ -114,6 +116,14 @@
// Gerrit change ref
name = name.substring(R_CHANGES.length());
cssClass = "otherRef";
+ } else if (name.startsWith(R_PULL)) {
+ // Pull Request ref
+ name = "pull #" + name.substring(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