James Moger
2011-04-18 6de3671263c307ab66ab63551064c9224c9c2665
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,11 +19,23 @@
      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);
      add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
      String diff;
      if (StringUtils.isEmpty(baseObjectId)) {
         // use first parent
         diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
         add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
      } 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.newBlobDiffParameter(repositoryName, baseObjectId, objectId, blobPath)));
      }
      add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
      add(new BookmarkablePageLink<Void>("commitDiffLink", CommitDiffPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));