From ce119acc6dbb3153af1cbbf7ec1270d21f5e52c8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 17 Apr 2011 16:10:38 -0400
Subject: [PATCH] patch-to-current feature.

---
 src/com/gitblit/wicket/pages/PatchPage.java |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/PatchPage.java b/src/com/gitblit/wicket/pages/PatchPage.java
index 12e89a6..45c1bf5 100644
--- a/src/com/gitblit/wicket/pages/PatchPage.java
+++ b/src/com/gitblit/wicket/pages/PatchPage.java
@@ -11,6 +11,7 @@
 
 import com.gitblit.GitBlit;
 import com.gitblit.utils.JGitUtils;
+import com.gitblit.utils.StringUtils;
 import com.gitblit.wicket.WicketUtils;
 
 public class PatchPage extends WebPage {
@@ -23,6 +24,7 @@
 			redirectToInterceptPage(new RepositoriesPage());
 		}
 		final String repositoryName = WicketUtils.getRepositoryName(params);
+		final String baseObjectId = WicketUtils.getBaseObjectId(params);
 		final String objectId = WicketUtils.getObject(params);
 		final String blobPath = WicketUtils.getPath(params);
 
@@ -38,7 +40,13 @@
 		}
 
 		RevCommit commit = JGitUtils.getCommit(r, objectId);
-		String patch = JGitUtils.getCommitPatch(r, commit, blobPath);
+		String patch;
+		if (StringUtils.isEmpty(baseObjectId)) {
+			patch = JGitUtils.getCommitPatch(r, commit, blobPath);
+		} else {
+			RevCommit baseCommit = JGitUtils.getCommit(r, baseObjectId);
+			patch = JGitUtils.getCommitPatch(r, baseCommit, commit, blobPath);			
+		}
 		add(new Label("patchText", patch));
 		r.close();
 	}

--
Gitblit v1.9.1