You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BlobDiffPage.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.gitblit.wicket.pages;
  2. import org.apache.wicket.PageParameters;
  3. import org.apache.wicket.markup.html.basic.Label;
  4. import org.apache.wicket.markup.html.link.BookmarkablePageLink;
  5. import org.eclipse.jgit.lib.Repository;
  6. import org.eclipse.jgit.revwalk.RevCommit;
  7. import com.gitblit.utils.JGitUtils;
  8. import com.gitblit.wicket.LinkPanel;
  9. import com.gitblit.wicket.RepositoryPage;
  10. import com.gitblit.wicket.WicketUtils;
  11. import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
  12. public class BlobDiffPage extends RepositoryPage {
  13. public BlobDiffPage(PageParameters params) {
  14. super(params);
  15. final String blobPath = WicketUtils.getPath(params);
  16. Repository r = getRepository();
  17. RevCommit commit = JGitUtils.getCommit(r, objectId);
  18. String diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
  19. add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
  20. add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
  21. add(new BookmarkablePageLink<Void>("commitDiffLink", CommitDiffPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
  22. // diff page links
  23. add(new Label("blameLink", getString("gb.blame")));
  24. add(new Label("historyLink", getString("gb.history")));
  25. add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
  26. add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
  27. add(new Label("diffText", diff).setEscapeModelStrings(false));
  28. }
  29. @Override
  30. protected String getPageName() {
  31. return getString("gb.diff");
  32. }
  33. }