From 73d8e161834f768bc772e38a7ebf1a140962c685 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 30 Sep 2013 10:10:47 -0400 Subject: [PATCH] Add recursive delete function to FileUtils --- src/main/java/com/gitblit/wicket/pages/ComparePage.java | 27 ++++++++++++++++----------- 1 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/ComparePage.java b/src/main/java/com/gitblit/wicket/pages/ComparePage.java index f5f3526..1efb9b6 100644 --- a/src/main/java/com/gitblit/wicket/pages/ComparePage.java +++ b/src/main/java/com/gitblit/wicket/pages/ComparePage.java @@ -37,19 +37,19 @@ import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; -import com.gitblit.GitBlit; -import com.gitblit.Keys; import com.gitblit.models.PathModel.PathChangeModel; import com.gitblit.models.RefModel; import com.gitblit.models.RepositoryModel; import com.gitblit.models.SubmoduleModel; import com.gitblit.utils.DiffUtils; +import com.gitblit.utils.DiffUtils.DiffOutput; import com.gitblit.utils.DiffUtils.DiffOutputType; import com.gitblit.utils.JGitUtils; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.SessionlessForm; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.CommitLegendPanel; +import com.gitblit.wicket.panels.DiffStatPanel; import com.gitblit.wicket.panels.LinkPanel; import com.gitblit.wicket.panels.LogPanel; @@ -80,9 +80,6 @@ Fragment comparison = new Fragment("comparison", "comparisonFragment", this); add(comparison); - DiffOutputType diffType = DiffOutputType.forName(GitBlit.getString(Keys.web.diffStyle, - DiffOutputType.GITBLIT.name())); - RevCommit fromCommit; RevCommit toCommit; @@ -113,7 +110,16 @@ fromCommitId.setObject(startId); toCommitId.setObject(endId); - String diff = DiffUtils.getDiff(r, fromCommit, toCommit, diffType); + final DiffOutput diff = DiffUtils.getDiff(r, fromCommit, toCommit, DiffOutputType.HTML); + + // add compare diffstat + int insertions = 0; + int deletions = 0; + for (PathChangeModel pcm : diff.stat.paths) { + insertions += pcm.insertions; + deletions += pcm.deletions; + } + comparison.add(new DiffStatPanel("diffStat", insertions, deletions)); // compare page links // comparison.add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, @@ -123,10 +129,8 @@ comparison.add(new LogPanel("commitList", repositoryName, objectId, r, 0, 0, repository.showRemoteBranches)); // changed paths list - List<PathChangeModel> paths = JGitUtils.getFilesInRange(r, fromCommit, toCommit); - - comparison.add(new CommitLegendPanel("commitLegend", paths)); - ListDataProvider<PathChangeModel> pathsDp = new ListDataProvider<PathChangeModel>(paths); + comparison.add(new CommitLegendPanel("commitLegend", diff.stat.paths)); + ListDataProvider<PathChangeModel> pathsDp = new ListDataProvider<PathChangeModel>(diff.stat.paths); DataView<PathChangeModel> pathsView = new DataView<PathChangeModel>("changedPath", pathsDp) { private static final long serialVersionUID = 1L; int counter; @@ -137,6 +141,7 @@ WicketUtils.setChangeTypeCssClass(changeType, entry.changeType); setChangeTypeTooltip(changeType, entry.changeType); item.add(changeType); + item.add(new DiffStatPanel("diffStat", entry.insertions, entry.deletions, true)); boolean hasSubmodule = false; String submodulePath = null; @@ -190,7 +195,7 @@ } }; comparison.add(pathsView); - comparison.add(new Label("diffText", diff).setEscapeModelStrings(false)); + comparison.add(new Label("diffText", diff.content).setEscapeModelStrings(false)); } // -- Gitblit v1.9.1