From e11f48115c93229700b7504450b324bdcf644fb2 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 17 Oct 2011 17:46:27 -0400
Subject: [PATCH] Handle the earliest tags from the Linux kernel repository (issue 25)
---
docs/04_releases.mkd | 3 ++-
src/com/gitblit/models/RefModel.java | 6 +++++-
docs/00_index.mkd | 3 ++-
src/com/gitblit/wicket/pages/RepositoryPage.java | 25 ++++++++++++-------------
src/com/gitblit/wicket/pages/TagPage.java | 8 ++++++--
5 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/docs/00_index.mkd b/docs/00_index.mkd
index 746402e..ee5faaf 100644
--- a/docs/00_index.mkd
+++ b/docs/00_index.mkd
@@ -38,7 +38,8 @@
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.
**This breaks 0.6.0 federation clients/servers.**
-- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8)
+- fixed: Gitblit can now browse the Linux kernel repository (issue 25)
+- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
- fixed: Set the RSS content type for Firefox 4 (issue 22)
- fixed: Null pointer exception if did not set federation strategy (issue 20)
- fixed: Gitblit GO allows SSL renegotiation if running on Java 1.6.0_22 or later
diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index bb238bb..fad61d3 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -12,7 +12,8 @@
- added: Gitblit Manager (Java/Swing Application) for remote administration of a Gitblit server.
- fixed: federation protocol timestamps. dates are now serialized to the [iso8601](http://en.wikipedia.org/wiki/ISO_8601) standard.
**This breaks 0.6.0 federation clients/servers.**
-- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8)
+- fixed: Gitblit can now browse the Linux kernel repository (issue 25)
+- fixed: Gitblit now runs on Servlet 3.0 webservers (e.g. Tomcat 7, Jetty 8) (issue 23)
- fixed: Set the RSS content type for Firefox 4 (issue 22)
- fixed: Null pointer exception if did not set federation strategy (issue 20)
- fixed: Gitblit GO allows SSL renegotiation if running on Java 1.6.0_22 or later
diff --git a/src/com/gitblit/models/RefModel.java b/src/com/gitblit/models/RefModel.java
index fab5fc1..acac776 100644
--- a/src/com/gitblit/models/RefModel.java
+++ b/src/com/gitblit/models/RefModel.java
@@ -24,6 +24,7 @@
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevObject;
import org.eclipse.jgit.revwalk.RevTag;
+import org.eclipse.jgit.revwalk.RevTree;
/**
* RefModel is a serializable model class that represents a tag or branch and
@@ -49,7 +50,10 @@
Date date = new Date(0);
if (referencedObject != null) {
if (referencedObject instanceof RevTag) {
- date = ((RevTag) referencedObject).getTaggerIdent().getWhen();
+ RevTag tag = (RevTag) referencedObject;
+ if (tag.getTaggerIdent() != null) {
+ date = tag.getTaggerIdent().getWhen();
+ }
} else if (referencedObject instanceof RevCommit) {
date = ((RevCommit) referencedObject).getCommitterIdent().getWhen();
}
diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index 272a3f5..2d616a4 100644
--- a/src/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -207,13 +207,14 @@
protected Component createPersonPanel(String wicketId, PersonIdent identity,
SearchType searchType) {
+ String name = identity == null ? "" : identity.getName();
+ String address = identity == null ? "" : identity.getEmailAddress();
boolean showEmail = GitBlit.getBoolean(Keys.web.showEmailAddresses, false);
- if (!showEmail || StringUtils.isEmpty(identity.getName())
- || StringUtils.isEmpty(identity.getEmailAddress())) {
- String value = identity.getName();
+ if (!showEmail || StringUtils.isEmpty(name) || StringUtils.isEmpty(address)) {
+ String value = name;
if (StringUtils.isEmpty(value)) {
if (showEmail) {
- value = identity.getEmailAddress();
+ value = address;
} else {
value = getString("gb.missingUsername");
}
@@ -226,17 +227,15 @@
return partial;
} else {
Fragment fullPerson = new Fragment(wicketId, "fullPersonIdent", this);
- LinkPanel nameLink = new LinkPanel("personName", "list", identity.getName(),
- SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId,
- identity.getName(), searchType));
- setPersonSearchTooltip(nameLink, identity.getName(), searchType);
+ LinkPanel nameLink = new LinkPanel("personName", "list", name, SearchPage.class,
+ WicketUtils.newSearchParameter(repositoryName, objectId, name, searchType));
+ setPersonSearchTooltip(nameLink, name, searchType);
fullPerson.add(nameLink);
- LinkPanel addressLink = new LinkPanel("personAddress", "list", "<"
- + identity.getEmailAddress() + ">", SearchPage.class,
- WicketUtils.newSearchParameter(repositoryName, objectId,
- identity.getEmailAddress(), searchType));
- setPersonSearchTooltip(addressLink, identity.getEmailAddress(), searchType);
+ LinkPanel addressLink = new LinkPanel("personAddress", "list", "<" + address + ">",
+ SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId,
+ address, searchType));
+ setPersonSearchTooltip(addressLink, address, searchType);
fullPerson.add(addressLink);
return fullPerson;
}
diff --git a/src/com/gitblit/wicket/pages/TagPage.java b/src/com/gitblit/wicket/pages/TagPage.java
index c1efb89..a346670 100644
--- a/src/com/gitblit/wicket/pages/TagPage.java
+++ b/src/com/gitblit/wicket/pages/TagPage.java
@@ -17,6 +17,7 @@
import java.text.MessageFormat;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
import org.apache.wicket.PageParameters;
@@ -80,8 +81,11 @@
add(new Label("taggedObjectType", getString(typeKey)));
add(createPersonPanel("tagger", tagRef.getAuthorIdent(), SearchType.AUTHOR));
- add(WicketUtils.createTimestampLabel("tagDate", tagRef.getAuthorIdent().getWhen(),
- getTimeZone()));
+ Date when = new Date(0);
+ if (tagRef.getAuthorIdent() != null) {
+ when = tagRef.getAuthorIdent().getWhen();
+ }
+ add(WicketUtils.createTimestampLabel("tagDate", when, getTimeZone()));
addFullText("fullMessage", tagRef.getFullMessage(), true);
}
--
Gitblit v1.9.1