From f1dfc23c493570e5be865664c17e368f46665609 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 17 Apr 2011 16:00:02 -0400
Subject: [PATCH] Implemented diff-to-current.
---
src/com/gitblit/wicket/pages/BlobDiffPage.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/BlobDiffPage.java b/src/com/gitblit/wicket/pages/BlobDiffPage.java
index de49b3c..bff46b3 100644
--- a/src/com/gitblit/wicket/pages/BlobDiffPage.java
+++ b/src/com/gitblit/wicket/pages/BlobDiffPage.java
@@ -7,6 +7,7 @@
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.utils.JGitUtils;
+import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
import com.gitblit.wicket.WicketUtils;
@@ -18,10 +19,21 @@
super(params);
final String blobPath = WicketUtils.getPath(params);
+ final String baseObjectId = WicketUtils.getBaseObjectId(params);
Repository r = getRepository();
RevCommit commit = JGitUtils.getCommit(r, objectId);
- String diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
+
+ String diff;
+ if (StringUtils.isEmpty(baseObjectId)) {
+ // use first parent
+ diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
+ } else {
+ // base commit specified
+ RevCommit baseCommit = JGitUtils.getCommit(r, baseObjectId);
+ diff = JGitUtils.getCommitDiff(r, baseCommit, commit, blobPath, true);
+ }
+
add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
add(new BookmarkablePageLink<Void>("commitDiffLink", CommitDiffPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
--
Gitblit v1.9.1