From 3df3496185d229e6f1cdeb6f182f7933884ca29c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 20 Apr 2011 22:14:37 -0400 Subject: [PATCH] Selectable diff presentation: gitblit, gitweb, or plain. --- src/com/gitblit/wicket/pages/PatchPage.java | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/wicket/pages/PatchPage.java b/src/com/gitblit/wicket/pages/PatchPage.java index c877bb6..45c1bf5 100644 --- a/src/com/gitblit/wicket/pages/PatchPage.java +++ b/src/com/gitblit/wicket/pages/PatchPage.java @@ -11,8 +11,8 @@ import com.gitblit.GitBlit; import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.StringUtils; import com.gitblit.wicket.WicketUtils; - public class PatchPage extends WebPage { @@ -24,7 +24,8 @@ redirectToInterceptPage(new RepositoriesPage()); } final String repositoryName = WicketUtils.getRepositoryName(params); - final String objectId = WicketUtils.getObject(params); + final String baseObjectId = WicketUtils.getBaseObjectId(params); + final String objectId = WicketUtils.getObject(params); final String blobPath = WicketUtils.getPath(params); ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest(); @@ -39,8 +40,14 @@ } 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