Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

BlobDiffPage.java 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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.utils.StringUtils;
  9. import com.gitblit.wicket.LinkPanel;
  10. import com.gitblit.wicket.RepositoryPage;
  11. import com.gitblit.wicket.WicketUtils;
  12. import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
  13. public class BlobDiffPage extends RepositoryPage {
  14. public BlobDiffPage(PageParameters params) {
  15. super(params);
  16. final String blobPath = WicketUtils.getPath(params);
  17. final String baseObjectId = WicketUtils.getBaseObjectId(params);
  18. Repository r = getRepository();
  19. RevCommit commit = JGitUtils.getCommit(r, objectId);
  20. String diff;
  21. if (StringUtils.isEmpty(baseObjectId)) {
  22. // use first parent
  23. diff = JGitUtils.getCommitDiff(r, commit, blobPath, true);
  24. add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
  25. } else {
  26. // base commit specified
  27. RevCommit baseCommit = JGitUtils.getCommit(r, baseObjectId);
  28. diff = JGitUtils.getCommitDiff(r, baseCommit, commit, blobPath, true);
  29. add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, WicketUtils.newBlobDiffParameter(repositoryName, baseObjectId, objectId, blobPath)));
  30. }
  31. add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
  32. add(new BookmarkablePageLink<Void>("commitDiffLink", CommitDiffPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
  33. // diff page links
  34. add(new Label("blameLink", getString("gb.blame")));
  35. add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, WicketUtils.newPathParameter(repositoryName, objectId, blobPath)));
  36. add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
  37. add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
  38. add(new Label("diffText", diff).setEscapeModelStrings(false));
  39. }
  40. @Override
  41. protected String getPageName() {
  42. return getString("gb.diff");
  43. }
  44. }