diff options
author | James Moger <james.moger@gitblit.com> | 2011-04-06 09:27:14 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-04-06 09:27:14 -0400 |
commit | 87c3d714693b216cee9c31cdc5170715c56f541d (patch) | |
tree | aa9744ccaf2861e8aaed38edb349eed545bf34bc /src/com/gitblit/wicket/pages/DiffPage.java | |
parent | 232890f03476b8bb231d17883eb0faff93ec5049 (diff) | |
download | gitblit-87c3d714693b216cee9c31cdc5170715c56f541d.tar.gz gitblit-87c3d714693b216cee9c31cdc5170715c56f541d.zip |
Mostly working Diff presentation.
Diffstat (limited to 'src/com/gitblit/wicket/pages/DiffPage.java')
-rw-r--r-- | src/com/gitblit/wicket/pages/DiffPage.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/com/gitblit/wicket/pages/DiffPage.java b/src/com/gitblit/wicket/pages/DiffPage.java new file mode 100644 index 00000000..05500f83 --- /dev/null +++ b/src/com/gitblit/wicket/pages/DiffPage.java @@ -0,0 +1,46 @@ +package com.gitblit.wicket.pages;
+
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.markup.html.basic.Label;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
+
+import com.gitblit.utils.JGitUtils;
+import com.gitblit.wicket.LinkPanel;
+import com.gitblit.wicket.RepositoryPage;
+import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
+
+public class DiffPage extends RepositoryPage {
+
+ public DiffPage(PageParameters params) {
+ super(params, "diff");
+
+ final String blobPath = params.getString("f", null);
+
+ Repository r = getRepository();
+ RevCommit commit = JGitUtils.getCommit(r, commitId);
+ String diff;
+ if (blobPath != null && blobPath.length() > 0) {
+ // blob diff
+ diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
+ } else {
+ // commit diff
+ diff = JGitUtils.getCommitDiff(r, commit, true);
+ }
+ r.close();
+
+ // diff page links
+ add(new Label("historyLink", "history"));
+ add(new Label("rawLink", "raw"));
+ add(new Label("headLink", "HEAD"));
+
+ add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
+
+ add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, commitId));
+
+ add(new Label("diffText", diff).setEscapeModelStrings(false));
+
+ // footer
+ addFooter();
+ }
+}
|