summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2010-05-28 15:06:29 -0700
committerShawn O. Pearce <spearce@spearce.org>2010-05-28 15:09:29 -0700
commit1489bd157c33b72927985402ed40afd799f569da (patch)
tree01bafe4714e6580a602c5a48733d75aaf1f72706
parent92e739413d8814918d9bb037da2b457554c86f9c (diff)
downloadjgit-1489bd157c33b72927985402ed40afd799f569da.tar.gz
jgit-1489bd157c33b72927985402ed40afd799f569da.zip
eclipse-iplog: Use contribution rather than bug element
Wayne changed the schema to no longer be dependent upon the Bugzilla notion of a contribution, but instead be more generic and better support systems like Gerrit Code Review. Update our output to use the <contribution> element and include a link to the change in Gerrit. Change-Id: Ibc8a436918bd8e7597dc17743824201a74bce09b Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r--.eclipse_iplog3
-rw-r--r--org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java35
-rw-r--r--org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java12
-rw-r--r--org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java13
4 files changed, 23 insertions, 40 deletions
diff --git a/.eclipse_iplog b/.eclipse_iplog
index f3771c157f..dc701694e4 100644
--- a/.eclipse_iplog
+++ b/.eclipse_iplog
@@ -4,6 +4,9 @@
skipCommit = 1a6964c8274c50f0253db75f010d78ef0e739343
+[review]
+ url = http://egit.eclipse.org/r/r/
+
[CQ "3454"]
description = args4j Version: 2.0.12
license = BSD License
diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java
index 8ddb6bdd1e..28df8b7f53 100644
--- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java
+++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogGenerator.java
@@ -58,7 +58,6 @@ import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
@@ -88,7 +87,6 @@ import org.eclipse.jgit.lib.ObjectLoader;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.WindowCursor;
-import org.eclipse.jgit.revwalk.FooterKey;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTree;
import org.eclipse.jgit.revwalk.RevWalk;
@@ -111,8 +109,6 @@ public class IpLogGenerator {
private static final String INDENT = "{http://xml.apache.org/xslt}indent-amount";
- private static final FooterKey BUG = new FooterKey("Bug");
-
/** Projects indexed by their ID string, e.g. {@code technology.jgit}. */
private final Map<String, Project> projects = new TreeMap<String, Project>();
@@ -137,6 +133,9 @@ public class IpLogGenerator {
/** The meta file we loaded to bootstrap our definitions. */
private IpLogMeta meta;
+ /** URL to obtain review information about a specific contribution. */
+ private String reviewUrl;
+
private String characterEncoding = "UTF-8";
private Repository db;
@@ -230,6 +229,7 @@ public class IpLogGenerator {
consumedProjects.put(p.getName(), p);
}
cqs.addAll(meta.getCQs());
+ reviewUrl = meta.getReviewUrl();
}
private void loadCommitters(Repository repo) throws IOException {
@@ -358,20 +358,6 @@ public class IpLogGenerator {
String subj = commit.getShortMessage();
SingleContribution item = new SingleContribution(id, when, subj);
- List<String> bugs = commit.getFooterLines(BUG);
- if (1 == bugs.size()) {
- item.setBugID(bugs.get(0));
-
- } else if (2 <= bugs.size()) {
- StringBuilder tmp = new StringBuilder();
- for (String bug : bugs) {
- if (tmp.length() > 0)
- tmp.append(",");
- tmp.append(bug);
- }
- item.setBugID(tmp.toString());
- }
-
if (2 <= cnt) {
item.setSize("(merge)");
contributor.add(item);
@@ -594,20 +580,15 @@ public class IpLogGenerator {
}
private Element createContribution(SingleContribution s) {
- Element r = createElement("bug");
+ Element r = createElement("contribution");
required(r, "id", s.getID());
- optional(r, "bug-id", s.getBugID());
+ required(r, "description", s.getSummary());
required(r, "size", s.getSize());
- required(r, "type", "A"); // assume attachment type
- required(r, "created", format(s.getCreated()));
- required(r, "summary", s.getSummary());
+ if (reviewUrl != null)
+ optional(r, "url", reviewUrl + s.getID());
return r;
}
- private String format(Date created) {
- return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(created);
- }
-
private Element createElement(String name) {
return doc.createElementNS(IPLOG_NS, IPLOG_PFX + name);
}
diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java
index 16a1593523..89695bdb8d 100644
--- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java
+++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/IpLogMeta.java
@@ -75,6 +75,10 @@ public class IpLogMeta {
private static final String S_CONSUMES = "consumes";
+ private static final String S_REVIEW = "review";
+
+ private static final String K_URL = "url";
+
private static final String K_NAME = "name";
private static final String K_VERSION = "version";
@@ -97,6 +101,8 @@ public class IpLogMeta {
private Set<CQ> cqs = new HashSet<CQ>();
+ private String reviewUrl;
+
List<Project> getProjects() {
return projects;
}
@@ -109,6 +115,10 @@ public class IpLogMeta {
return cqs;
}
+ String getReviewUrl() {
+ return reviewUrl;
+ }
+
void loadFrom(Config cfg) {
projects.clear();
consumedProjects.clear();
@@ -126,6 +136,8 @@ public class IpLogMeta {
cq.setComments(cfg.getString(S_CQ, id, K_COMMENTS));
cqs.add(cq);
}
+
+ reviewUrl = cfg.getString(S_REVIEW, null, K_URL);
}
private List<Project> parseProjects(final Config cfg,
diff --git a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java
index 2cd5562a10..96f3defa1b 100644
--- a/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java
+++ b/org.eclipse.jgit.iplog/src/org/eclipse/jgit/iplog/SingleContribution.java
@@ -61,8 +61,6 @@ class SingleContribution {
private Date created;
- private String bugId;
-
private String size;
/**
@@ -91,17 +89,6 @@ class SingleContribution {
return summary;
}
- /** @return Bugzilla bug id */
- String getBugID() {
- return bugId;
- }
-
- void setBugID(String id) {
- if (id.startsWith("https://bugs.eclipse.org/"))
- id = id.substring("https://bugs.eclipse.org/".length());
- bugId = id;
- }
-
String getSize() {
return size;
}