| | |
| | | import java.util.Map;
|
| | | import java.util.Set;
|
| | |
|
| | | import org.eclipse.jgit.api.Git;
|
| | | import org.eclipse.jgit.diff.DiffEntry;
|
| | | import org.eclipse.jgit.diff.DiffFormatter;
|
| | | import org.eclipse.jgit.diff.RawTextComparator;
|
| | |
| | | public static String getCommitDiff(Repository r, RevCommit commit, boolean outputHtml) {
|
| | | return getCommitDiff(r, commit, null, outputHtml);
|
| | | }
|
| | | |
| | |
|
| | | public static String getCommitDiff(Repository r, RevCommit commit, String path, boolean outputHtml) {
|
| | | try {
|
| | | final RevWalk rw = new RevWalk(r);
|
| | |
| | | }
|
| | |
|
| | | public static List<RevCommit> getRevLog(Repository r, int maxCount) {
|
| | | return getRevLog(r, Constants.HEAD, 0, maxCount);
|
| | | }
|
| | |
|
| | | public static List<RevCommit> getRevLog(Repository r, String objectId, int offset, int maxCount) {
|
| | | List<RevCommit> list = new ArrayList<RevCommit>();
|
| | | try {
|
| | | Git git = new Git(r);
|
| | | Iterable<RevCommit> revlog = git.log().call();
|
| | | for (RevCommit rev : revlog) {
|
| | | list.add(rev);
|
| | | if (maxCount > 0 && list.size() == maxCount) {
|
| | | break;
|
| | | if (objectId == null || objectId.trim().length() == 0) {
|
| | | objectId = Constants.HEAD;
|
| | | }
|
| | | RevWalk walk = new RevWalk(r);
|
| | | ObjectId object = r.resolve(objectId);
|
| | | walk.markStart(walk.parseCommit(object));
|
| | | Iterable<RevCommit> revlog = walk;
|
| | | if (offset > 0) {
|
| | | int count = 0;
|
| | | for (RevCommit rev : revlog) {
|
| | | count++;
|
| | | if (count > offset) {
|
| | | list.add(rev);
|
| | | if (maxCount > 0 && list.size() == maxCount) {
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | } else {
|
| | | for (RevCommit rev : revlog) {
|
| | | list.add(rev);
|
| | | if (maxCount > 0 && list.size() == maxCount) {
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | | walk.dispose();
|
| | | } catch (Throwable t) {
|
| | | LOGGER.error("Failed to determine last change", t);
|
| | | }
|
| | |
| | | final Map<String, Metric> map = new HashMap<String, Metric>();
|
| | | try {
|
| | | DateFormat df = new SimpleDateFormat("yyyy-MM");
|
| | | Git git = new Git(r);
|
| | | Iterable<RevCommit> revlog = git.log().call();
|
| | | RevWalk walk = new RevWalk(r);
|
| | | ObjectId object = r.resolve(Constants.HEAD);
|
| | | walk.markStart(walk.parseCommit(object));
|
| | | Iterable<RevCommit> revlog = walk;
|
| | | for (RevCommit rev : revlog) {
|
| | | Date d = getCommitDate(rev);
|
| | | String p = df.format(d);
|
| | |
| | | getRequestCycleSettings().setGatherExtendedBrowserInfo(true);
|
| | |
|
| | | // setup the standard gitweb-ish urls
|
| | | mount(new MixedParamUrlCodingStrategy("/summary", SummaryPage.class, new String[] { "p" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/shortlog", LogPage.class, new String[] { "p", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tags", TagsPage.class, new String[] { "p" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/branches", BranchesPage.class, new String[] { "p" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/commit", CommitPage.class, new String[] { "p", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tag", TagPage.class, new String[] { "p", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tree", TreePage.class, new String[] { "p", "h", "f" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/blob", BlobPage.class, new String[] { "p", "h", "f" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/diff", DiffPage.class, new String[] { "p", "h", "f" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/summary", SummaryPage.class, new String[] { "r" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/log", LogPage.class, new String[] { "r", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tags", TagsPage.class, new String[] { "r" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/branches", BranchesPage.class, new String[] { "r" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/commit", CommitPage.class, new String[] { "r", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tag", TagPage.class, new String[] { "r", "h" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/tree", TreePage.class, new String[] { "r", "h", "f" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/blob", BlobPage.class, new String[] { "r", "h", "f" }));
|
| | | mount(new MixedParamUrlCodingStrategy("/diff", DiffPage.class, new String[] { "r", "h", "f" }));
|
| | |
|
| | | // setup extended urls
|
| | | mount(new MixedParamUrlCodingStrategy("/ticgit", TicGitPage.class, new String[] { "p" }));
|
| | |
| | | gb.newRepository = new repository
|
| | | gb.newUser = new user
|
| | | gb.commitdiff = commitdiff
|
| | | gb.ticgit = ticgit |
| | | gb.ticgit = ticgit
|
| | | gb.pageFirst = first
|
| | | gb.pagePrevious prev
|
| | | gb.pageNext = next |
| | |
| | | public abstract class RepositoryPage extends BasePage {
|
| | |
|
| | | protected final String repositoryName;
|
| | | protected final String commitId;
|
| | | protected final String objectId;
|
| | | protected String description;
|
| | |
|
| | | private transient Repository r = null;
|
| | |
|
| | | public RepositoryPage(PageParameters params) {
|
| | | super(params);
|
| | | if (!params.containsKey("p")) {
|
| | | if (!params.containsKey("r")) {
|
| | | error("Repository not specified!");
|
| | | redirectToInterceptPage(new RepositoriesPage());
|
| | | }
|
| | | repositoryName = params.getString("p", "");
|
| | | commitId = params.getString("h", "HEAD");
|
| | | repositoryName = params.getString("r", "");
|
| | | objectId = params.getString("h", "HEAD");
|
| | |
|
| | | Repository r = getRepository();
|
| | |
|
| | |
| | | }
|
| | |
|
| | | protected PageParameters newCommitParameter() {
|
| | | return WicketUtils.newCommitParameter(repositoryName, commitId);
|
| | | return WicketUtils.newObjectParameter(repositoryName, objectId);
|
| | | }
|
| | |
|
| | | protected PageParameters newCommitParameter(String commitId) {
|
| | | return WicketUtils.newCommitParameter(repositoryName, commitId);
|
| | | return WicketUtils.newObjectParameter(repositoryName, commitId);
|
| | | }
|
| | |
|
| | | protected PageParameters newPathParameter(String path) {
|
| | | return WicketUtils.newPathParameter(repositoryName, commitId, path);
|
| | | return WicketUtils.newPathParameter(repositoryName, objectId, path);
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | public static PageParameters newRepositoryParameter(String repositoryName) {
|
| | | return new PageParameters("p=" + repositoryName);
|
| | | return new PageParameters("r=" + repositoryName);
|
| | | }
|
| | |
|
| | | public static PageParameters newCommitParameter(String repositoryName, String commitId) {
|
| | | if (commitId == null || commitId.trim().length() == 0) {
|
| | | public static PageParameters newObjectParameter(String repositoryName, String objectId) {
|
| | | if (objectId == null || objectId.trim().length() == 0) {
|
| | | return newRepositoryParameter(repositoryName);
|
| | | }
|
| | | return new PageParameters("p=" + repositoryName + ",h=" + commitId);
|
| | | return new PageParameters("r=" + repositoryName + ",h=" + objectId);
|
| | | }
|
| | |
|
| | | public static PageParameters newPathParameter(String repositoryName, String commitId, String path) {
|
| | | public static PageParameters newPathParameter(String repositoryName, String objectId, String path) {
|
| | | if (path == null || path.trim().length() == 0) {
|
| | | return newCommitParameter(repositoryName, commitId);
|
| | | return newObjectParameter(repositoryName, objectId);
|
| | | }
|
| | | return new PageParameters("p=" + repositoryName + ",h=" + commitId + ",f=" + path);
|
| | | return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",f=" + path);
|
| | | }
|
| | | |
| | | public static PageParameters newLogPageParameter(String repositoryName, String objectId, int pageNumber) {
|
| | | if (pageNumber <= 1) {
|
| | | return newObjectParameter(repositoryName, objectId);
|
| | | }
|
| | | return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",page=" + pageNumber);
|
| | | }
|
| | |
|
| | | public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone) {
|
| | |
| | | final String blobPath = params.getString("f", null);
|
| | |
|
| | | Repository r = getRepository();
|
| | | RevCommit commit = JGitUtils.getCommit(r, commitId);
|
| | | RevCommit commit = JGitUtils.getCommit(r, objectId);
|
| | |
|
| | | // blob page links
|
| | | add(new Label("historyLink", getString("gb.history")));
|
| | |
| | |
|
| | | add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
|
| | |
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, commitId));
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
|
| | | String extension = null;
|
| | | if (blobPath.lastIndexOf('.') > -1) {
|
| | | extension = blobPath.substring(blobPath.lastIndexOf('.') + 1);
|
| | |
| | | final String blobPath = params.getString("f", null);
|
| | |
|
| | | Repository r = getRepository();
|
| | | RevCommit commit = JGitUtils.getCommit(r, commitId);
|
| | | RevCommit commit = JGitUtils.getCommit(r, objectId);
|
| | | String diff;
|
| | | if (blobPath != null && blobPath.length() > 0) {
|
| | | // blob diff
|
| | |
| | |
|
| | | add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
|
| | |
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, commitId));
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId));
|
| | |
|
| | | add(new Label("diffText", diff).setEscapeModelStrings(false));
|
| | | }
|
| | |
| | | <!-- page nav links -->
|
| | | <div wicket:id="pageLinks">[page links]</div>
|
| | |
|
| | | <!-- pager links -->
|
| | | <div style="padding-top:5px;padding-bottom:5px;">
|
| | | <a wicket:id="firstPageTop"><wicket:message key="gb.pageFirst"></wicket:message></a> | <a wicket:id="prevPageTop"><wicket:message key="gb.pagePrevious"></wicket:message></a> | <a wicket:id="nextPageTop"><wicket:message key="gb.pageNext"></wicket:message></a> |
| | | </div>
|
| | | |
| | | <!-- log -->
|
| | | <div style="margin-top:5px;" wicket:id="logPanel">[log panel]</div>
|
| | |
|
| | | <!-- pager links -->
|
| | | <div style="padding-bottom:5px;">
|
| | | <a wicket:id="firstPageBottom"><wicket:message key="gb.pageFirst"></wicket:message></a> | <a wicket:id="prevPageBottom"><wicket:message key="gb.pagePrevious"></wicket:message></a> | <a wicket:id="nextPageBottom"><wicket:message key="gb.pageNext"></wicket:message></a> |
| | | </div>
|
| | |
|
| | | </wicket:extend>
|
| | | </body>
|
| | |
| | | package com.gitblit.wicket.pages;
|
| | |
|
| | | import org.apache.wicket.PageParameters;
|
| | | import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
| | |
|
| | | import com.gitblit.wicket.RepositoryPage;
|
| | | import com.gitblit.wicket.WicketUtils;
|
| | | import com.gitblit.wicket.panels.LogPanel;
|
| | |
|
| | |
|
| | | public class LogPage extends RepositoryPage {
|
| | |
|
| | | public LogPage(PageParameters params) {
|
| | | super(params);
|
| | |
|
| | | add(new LogPanel("logPanel", repositoryName, getRepository(), 100, true));
|
| | | int pageNumber = params.getInt("page", 1); // index from 1
|
| | | int prevPage = Math.max(0, pageNumber - 1);
|
| | | int nextPage = pageNumber + 1;
|
| | |
|
| | | add(new BookmarkablePageLink<Void>("firstPageTop", LogPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
|
| | | add(new BookmarkablePageLink<Void>("prevPageTop", LogPage.class, WicketUtils.newLogPageParameter(repositoryName, objectId, prevPage)).setEnabled(pageNumber > 1));
|
| | | add(new BookmarkablePageLink<Void>("nextPageTop", LogPage.class, WicketUtils.newLogPageParameter(repositoryName, objectId, nextPage)));
|
| | |
|
| | | add(new LogPanel("logPanel", repositoryName, objectId, getRepository(), -1, pageNumber - 1));
|
| | |
|
| | | add(new BookmarkablePageLink<Void>("firstPageBottom", LogPage.class, WicketUtils.newObjectParameter(repositoryName, objectId)));
|
| | | add(new BookmarkablePageLink<Void>("prevPageBottom", LogPage.class, WicketUtils.newLogPageParameter(repositoryName, objectId, prevPage)).setEnabled(pageNumber > 1));
|
| | | add(new BookmarkablePageLink<Void>("nextPageBottom", LogPage.class, WicketUtils.newLogPageParameter(repositoryName, objectId, nextPage)));
|
| | | }
|
| | | |
| | |
|
| | | @Override
|
| | | protected String getPageName() {
|
| | | return getString("gb.log");
|
| | |
| | |
|
| | | public void populateItem(final Item<RepositoryModel> item) {
|
| | | final RepositoryModel entry = item.getModelObject();
|
| | | PageParameters pp = new PageParameters("p=" + entry.name);
|
| | | PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
|
| | | item.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, pp));
|
| | | item.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp));
|
| | | item.add(new Label("repositoryOwner", entry.owner));
|
| | |
| | | item.add(lastChangeLabel);
|
| | | WicketUtils.setCssClass(lastChangeLabel, Utils.timeAgoCss(entry.lastChange));
|
| | |
|
| | | String clazz = counter % 2 == 0 ? "dark" : "light";
|
| | | WicketUtils.setCssClass(item, clazz);
|
| | | WicketUtils.setAlternatingBackground(item, counter);
|
| | | counter++;
|
| | | }
|
| | | };
|
| | |
| | | }
|
| | |
|
| | | Repository r = getRepository();
|
| | | List<Metric> metrics = JGitUtils.getDateMetrics(r);
|
| | | |
| | | long numberOfCommits = 0;
|
| | | for (Metric m : metrics) {
|
| | | numberOfCommits += m.count;
|
| | | }
|
| | |
|
| | | String owner = JGitUtils.getRepositoryOwner(r);
|
| | | GitBlitWebSession session = GitBlitWebSession.get();
|
| | |
| | | add(new Label("repositoryLastChange", lastchange));
|
| | | add(new Label("repositoryCloneUrl", cloneurl));
|
| | |
|
| | | add(new LogPanel("commitsPanel", repositoryName, r, numberCommits, false));
|
| | | add(new LogPanel("commitsPanel", repositoryName, null, r, numberCommits, 0));
|
| | | add(new TagsPanel("tagsPanel", repositoryName, r, numberRefs));
|
| | | add(new BranchesPanel("branchesPanel", repositoryName, r, numberRefs));
|
| | |
|
| | | // Display an activity line graph
|
| | | insertActivityGraph(r);
|
| | | insertActivityGraph(metrics);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | return getString("gb.summary");
|
| | | }
|
| | |
|
| | | private void insertActivityGraph(Repository r) {
|
| | | if (StoredSettings.getBoolean("generateActivityGraph", true)) {
|
| | | List<Metric> dates = JGitUtils.getDateMetrics(r);
|
| | | IChartData data = getChartData(dates);
|
| | | private void insertActivityGraph(List<Metric> metrics) {
|
| | | if (StoredSettings.getBoolean("generateActivityGraph", true)) { |
| | | IChartData data = getChartData(metrics);
|
| | |
|
| | | ChartProvider provider = new ChartProvider(new Dimension(400, 80), ChartType.LINE, data);
|
| | | ChartAxis dateAxis = new ChartAxis(ChartAxisType.BOTTOM);
|
| | | dateAxis.setLabels(new String[] { dates.get(0).name, dates.get(dates.size() / 2).name, dates.get(dates.size() - 1).name });
|
| | | dateAxis.setLabels(new String[] { metrics.get(0).name, metrics.get(metrics.size() / 2).name, metrics.get(metrics.size() - 1).name });
|
| | | provider.addAxis(dateAxis);
|
| | |
|
| | | ChartAxis commitAxis = new ChartAxis(ChartAxisType.LEFT);
|
| | | commitAxis.setLabels(new String[] { "", String.valueOf((int) maxValue(dates)) });
|
| | | commitAxis.setLabels(new String[] { "", String.valueOf((int) maxValue(metrics)) });
|
| | | provider.addAxis(commitAxis);
|
| | |
|
| | | add(new Chart("commitsChart", provider));
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | protected IChartData getChartData(List<Metric> results) {
|
| | | final double[] counts = new double[results.size()];
|
| | | protected IChartData getChartData(List<Metric> metrics) {
|
| | | final double[] counts = new double[metrics.size()];
|
| | | int i = 0;
|
| | | double max = 0;
|
| | | for (Metric m : results) {
|
| | | for (Metric m : metrics) {
|
| | | counts[i++] = m.count;
|
| | | max = Math.max(max, m.count);
|
| | | }
|
| | |
| | | super(params);
|
| | |
|
| | | Repository r = getRepository();
|
| | | RevCommit c = JGitUtils.getCommit(r, commitId);
|
| | | RevCommit c = JGitUtils.getCommit(r, objectId);
|
| | |
|
| | | add(new LinkPanel("commit", "title", c.getName(), CommitPage.class, newCommitParameter()));
|
| | |
|
| | |
| | | final String basePath = params.getString("f", null);
|
| | |
|
| | | Repository r = getRepository();
|
| | | RevCommit commit = JGitUtils.getCommit(r, commitId);
|
| | | RevCommit commit = JGitUtils.getCommit(r, objectId);
|
| | | List<PathModel> paths = JGitUtils.getFilesInPath(r, basePath, commit);
|
| | |
|
| | | // tree page links
|
| | |
| | | add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter()));
|
| | |
|
| | | // breadcrumbs
|
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, basePath, commitId)); |
| | | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, basePath, objectId)); |
| | | if (basePath != null && basePath.trim().length() > 0) {
|
| | | paths.add(0, PathModel.getParentPath(basePath, commitId));
|
| | | paths.add(0, PathModel.getParentPath(basePath, objectId));
|
| | | }
|
| | |
|
| | | final ByteFormat byteFormat = new ByteFormat();
|
| | |
| | |
|
| | | item.add(WicketUtils.createDateLabel("branchDate", entry.getDate(), GitBlitWebSession.get().getTimezone()));
|
| | |
|
| | | item.add(new LinkPanel("branchName", "list name", WicketUtils.trimString(entry.getDisplayName(), 28), LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new LinkPanel("branchName", "list name", WicketUtils.trimString(entry.getDisplayName(), 28), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | |
|
| | | // only show branch type on the branches page
|
| | | boolean remote = entry.getName().startsWith(Constants.R_REMOTES);
|
| | | item.add(new Label("branchType", remote ? getString("gb.remote"):getString("gb.local")).setVisible(maxCount <= 0));
|
| | |
|
| | | item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | |
|
| | | WicketUtils.setAlternatingBackground(item, counter);
|
| | | counter++;
|
| | |
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | |
|
| | | import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
|
| | | import org.apache.wicket.markup.html.basic.Label;
|
| | | import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
| | | import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
|
| | | import org.apache.wicket.markup.html.panel.Panel;
|
| | | import org.apache.wicket.markup.repeater.Item;
|
| | | import org.apache.wicket.markup.repeater.data.DataView;
|
| | |
| | |
|
| | | private static final long serialVersionUID = 1L;
|
| | |
|
| | | public LogPanel(String wicketId, final String repositoryName, Repository r, int maxCount, boolean showPager) {
|
| | | public LogPanel(String wicketId, final String repositoryName, String objectId, Repository r, int limit, int pageOffset) {
|
| | | super(wicketId);
|
| | |
|
| | | boolean pageResults = limit <= 0; |
| | | setOutputMarkupId(pageResults);
|
| | | |
| | | final Map<ObjectId, List<String>> allRefs = JGitUtils.getAllRefs(r);
|
| | | List<RevCommit> commits = JGitUtils.getRevLog(r, maxCount);
|
| | | List<RevCommit> commits;
|
| | | if (pageResults) {
|
| | | // Paging result set
|
| | | commits = JGitUtils.getRevLog(r, objectId, pageOffset*GitBlitWebApp.PAGING_ITEM_COUNT, GitBlitWebApp.PAGING_ITEM_COUNT);
|
| | | } else {
|
| | | // Fixed size result set
|
| | | commits = JGitUtils.getRevLog(r, objectId, 0, limit);
|
| | | }
|
| | |
|
| | | // header
|
| | | if (showPager) {
|
| | | if (pageResults) {
|
| | | // shortlog page
|
| | | // show repository summary page link
|
| | | add(new LinkPanel("header", "title", repositoryName, SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); |
| | | add(new LinkPanel("header", "title", repositoryName, SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
|
| | | } else {
|
| | | // summary page
|
| | | // show shortlog page link
|
| | |
| | |
|
| | | String shortMessage = entry.getShortMessage();
|
| | | String trimmedMessage = WicketUtils.trimShortLog(shortMessage);
|
| | | LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject", trimmedMessage, CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName()));
|
| | | LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject", trimmedMessage, CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName()));
|
| | | if (!shortMessage.equals(trimmedMessage)) {
|
| | | WicketUtils.setHtmlTitle(shortlog, shortMessage);
|
| | | }
|
| | |
| | |
|
| | | item.add(new RefsPanel("commitRefs", entry, allRefs));
|
| | |
|
| | | item.add(new BookmarkablePageLink<Void>("view", CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("diff", DiffPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("view", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("diff", DiffPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("tree", TreePage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | |
|
| | | WicketUtils.setAlternatingBackground(item, counter);
|
| | | counter++;
|
| | | }
|
| | | };
|
| | | add(logView);
|
| | | add(logView); |
| | |
|
| | | // determine to show pager, more, or neither
|
| | | if (maxCount <= 0) {
|
| | | if (limit <= 0) {
|
| | | // no display limit
|
| | | add(new Label("moreLogs", "").setVisible(false));
|
| | | add(new Label("pageLogs", "").setVisible(false));
|
| | | } else {
|
| | | if (commits.size() == maxCount) {
|
| | |
|
| | | }
|
| | | if (showPager) {
|
| | | } else { |
| | | if (pageResults) {
|
| | | // paging
|
| | | add(new Label("moreLogs", "").setVisible(false));
|
| | | if (commits.size() == maxCount) {
|
| | | if (commits.size() == limit) {
|
| | | // show pager
|
| | | logView.setItemsPerPage(GitBlitWebApp.PAGING_ITEM_COUNT);
|
| | | add(new PagingNavigator("pageLogs", logView));
|
| | | add(new AjaxPagingNavigator("pageLogs", logView));
|
| | | } else {
|
| | | // nothing to page
|
| | | add(new Label("pageLogs", "").setVisible(false));
|
| | |
| | | } else {
|
| | | // more
|
| | | add(new Label("pageLogs", "").setVisible(false));
|
| | | if (commits.size() == maxCount) {
|
| | | if (commits.size() == limit) {
|
| | | // show more
|
| | | add(new LinkPanel("moreLogs", "link", new StringResourceModel("gb.moreLogs", this, null), LogPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
|
| | | } else {
|
| | |
| | |
|
| | | item.add(WicketUtils.createDateLabel("tagDate", entry.getDate(), GitBlitWebSession.get().getTimezone()));
|
| | |
|
| | | item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getCommitId().getName())));
|
| | | item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getCommitId().getName())));
|
| | | String message;
|
| | | if (maxCount > 0) {
|
| | | message = WicketUtils.trimString(entry.getShortLog(), 40);
|
| | |
| | | message = entry.getShortLog();
|
| | | }
|
| | | if (entry.isAnnotatedTag()) {
|
| | | item.add(new LinkPanel("tagDescription", "list subject", message, TagPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())));
|
| | | item.add(new LinkPanel("tagDescription", "list subject", message, TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getObjectId().getName())));
|
| | | } else {
|
| | | item.add(new LinkPanel("tagDescription", "list subject", message, CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())));
|
| | | item.add(new LinkPanel("tagDescription", "list subject", message, CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getObjectId().getName())));
|
| | | }
|
| | | item.add(new BookmarkablePageLink<Void>("view", TagPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getObjectId().getName())).setEnabled(entry.isAnnotatedTag()));
|
| | | item.add(new BookmarkablePageLink<Void>("commit", CommitPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getCommitId().getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newCommitParameter(repositoryName, entry.getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("view", TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getObjectId().getName())).setEnabled(entry.isAnnotatedTag()));
|
| | | item.add(new BookmarkablePageLink<Void>("commit", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getCommitId().getName())));
|
| | | item.add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
|
| | |
|
| | | WicketUtils.setAlternatingBackground(item, counter);
|
| | | counter++;
|