James Moger
2015-11-22 ed552ba47c02779c270ffd62841d6d1048dade70
src/main/java/com/gitblit/wicket/pages/CommitDiffPage.java
@@ -31,11 +31,13 @@
import org.eclipse.jgit.revwalk.RevCommit;
import com.gitblit.Constants;
import com.gitblit.Keys;
import com.gitblit.models.GitNote;
import com.gitblit.models.PathModel.PathChangeModel;
import com.gitblit.models.SubmoduleModel;
import com.gitblit.servlet.RawServlet;
import com.gitblit.utils.DiffUtils;
import com.gitblit.utils.DiffUtils.DiffComparator;
import com.gitblit.utils.DiffUtils.DiffOutput;
import com.gitblit.utils.DiffUtils.DiffOutputType;
import com.gitblit.utils.JGitUtils;
@@ -45,7 +47,7 @@
import com.gitblit.wicket.panels.CommitHeaderPanel;
import com.gitblit.wicket.panels.CommitLegendPanel;
import com.gitblit.wicket.panels.DiffStatPanel;
import com.gitblit.wicket.panels.GravatarImage;
import com.gitblit.wicket.panels.AvatarImage;
import com.gitblit.wicket.panels.LinkPanel;
import com.gitblit.wicket.panels.RefsPanel;
@@ -55,11 +57,9 @@
   public CommitDiffPage(PageParameters params) {
      super(params);
      Repository r = getRepository();
      RevCommit commit = getCommit();
      final DiffOutput diff = DiffUtils.getCommitDiff(r, commit, DiffOutputType.HTML);
      final Repository r = getRepository();
      final RevCommit commit = getCommit();
      final DiffComparator diffComparator = WicketUtils.getDiffComparator(params);
      List<String> parents = new ArrayList<String>();
      if (commit.getParentCount() > 0) {
@@ -79,8 +79,19 @@
            WicketUtils.newObjectParameter(repositoryName, objectId)));
      add(new BookmarkablePageLink<Void>("commitLink", CommitPage.class,
            WicketUtils.newObjectParameter(repositoryName, objectId)));
      add(new LinkPanel("whitespaceLink", null, getString(diffComparator.getOpposite().getTranslationKey()),
            CommitDiffPage.class, WicketUtils.newDiffParameter(repositoryName, objectId, diffComparator.getOpposite())));
      add(new CommitHeaderPanel("commitHeader", repositoryName, commit));
      final List<String> imageExtensions = app().settings().getStrings(Keys.web.imageExtensions);
      final ImageDiffHandler handler = new ImageDiffHandler(this, repositoryName,
            parents.isEmpty() ? null : parents.get(0), commit.getName(), imageExtensions);
      final int tabLength = app().settings().getInteger(Keys.web.tabLength, 4);
      final DiffOutput diff = DiffUtils.getCommitDiff(r, commit, diffComparator, DiffOutputType.HTML, handler, tabLength);
      if (handler.getImgDiffCount() > 0) {
         addBottomScript("scripts/imgdiff.js"); // Tiny support script for image diffs
      }
      // add commit diffstat
      int insertions = 0;
@@ -105,7 +116,7 @@
            item.add(new RefsPanel("refName", repositoryName, Arrays.asList(entry.notesRef)));
            item.add(createPersonPanel("authorName", entry.notesRef.getAuthorIdent(),
                  Constants.SearchType.AUTHOR));
            item.add(new GravatarImage("noteAuthorAvatar", entry.notesRef.getAuthorIdent()));
            item.add(new AvatarImage("noteAuthorAvatar", entry.notesRef.getAuthorIdent()));
            item.add(WicketUtils.createTimestampLabel("authorDate", entry.notesRef
                  .getAuthorIdent().getWhen(), getTimeZone(), getTimeUtils()));
            item.add(new Label("noteContent", bugtraqProcessor().processPlainCommitMessage(getRepository(), repositoryName,
@@ -145,10 +156,10 @@
               hasSubmodule = submodule.hasSubmodule;
               // add relative link
               item.add(new LinkPanel("pathName", "list", entry.path + " @ " + getShortObjectId(submoduleId), "#" + entry.path));
               item.add(new LinkPanel("pathName", "list", entry.path + " @ " + getShortObjectId(submoduleId), "#n" + entry.objectId));
            } else {
               // add relative link
               item.add(new LinkPanel("pathName", "list", entry.path, "#" + entry.path));
               item.add(new LinkPanel("pathName", "list", entry.path, "#n" + entry.objectId));
            }
            // quick links