- Retrieve LDAP groups with dereferencing aliases (pr-122) | - Retrieve LDAP groups with dereferencing aliases (pr-122) | ||||
- Revised committer verification to require a matching displayname or account name AND the email address | - Revised committer verification to require a matching displayname or account name AND the email address | ||||
- Serve repositories on both /r and /git, displaying /r because it is shorter | - Serve repositories on both /r and /git, displaying /r because it is shorter | ||||
- Eliminate HEAD from the blob, blame, and tree pages. That assumed a resource was available in HEAD and it may not be. | |||||
additions: | additions: | ||||
- Added color modes for the blame page (issue-2) | - Added color modes for the blame page (issue-2) | ||||
- Added an optional MirrorService which will periodically fetch ref updates from source repositories for mirrors (issue-5). Repositories must be manually cloned using native git and "--mirror". | - Added an optional MirrorService which will periodically fetch ref updates from source repositories for mirrors (issue-5). Repositories must be manually cloned using native git and "--mirror". |
<!-- blame nav links --> | <!-- blame nav links --> | ||||
<div class="page_nav2"> | <div class="page_nav2"> | ||||
<a wicket:id="blobLink"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <a wicket:id="headLink"><wicket:message key="gb.head"></wicket:message></a> | <a wicket:id="commitLink"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="commitDiffLink"><wicket:message key="gb.commitdiff"></wicket:message></a> | |||||
<a wicket:id="blobLink"><wicket:message key="gb.view"></wicket:message></a> | <a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <a wicket:id="commitLink"><wicket:message key="gb.commit"></wicket:message></a> | <a wicket:id="commitDiffLink"><wicket:message key="gb.commitdiff"></wicket:message></a> | |||||
</div> | </div> | ||||
<!-- commit header --> | <!-- commit header --> |
import org.apache.wicket.markup.repeater.Item; | import org.apache.wicket.markup.repeater.Item; | ||||
import org.apache.wicket.markup.repeater.data.DataView; | import org.apache.wicket.markup.repeater.data.DataView; | ||||
import org.apache.wicket.markup.repeater.data.ListDataProvider; | import org.apache.wicket.markup.repeater.data.ListDataProvider; | ||||
import org.eclipse.jgit.lib.Constants; | |||||
import org.eclipse.jgit.lib.ObjectId; | import org.eclipse.jgit.lib.ObjectId; | ||||
import org.eclipse.jgit.revwalk.RevCommit; | import org.eclipse.jgit.revwalk.RevCommit; | ||||
WicketUtils.newObjectParameter(repositoryName, objectId))); | WicketUtils.newObjectParameter(repositoryName, objectId))); | ||||
// blame page links | // blame page links | ||||
add(new BookmarkablePageLink<Void>("headLink", BlamePage.class, | |||||
WicketUtils.newPathParameter(repositoryName, Constants.HEAD, blobPath))); | |||||
add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, | add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, | ||||
WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | ||||
<!-- blob nav links --> | <!-- blob nav links --> | ||||
<div class="page_nav2"> | <div class="page_nav2"> | ||||
<a wicket:id="blameLink"><wicket:message key="gb.blame"></wicket:message></a> | <a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <a wicket:id="rawLink"><wicket:message key="gb.raw"></wicket:message></a> | <a wicket:id="headLink"><wicket:message key="gb.head"></wicket:message></a> | |||||
<a wicket:id="blameLink"><wicket:message key="gb.blame"></wicket:message></a> | <a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <a wicket:id="rawLink"><wicket:message key="gb.raw"></wicket:message></a> | |||||
</div> | </div> | ||||
<!-- commit header --> | <!-- commit header --> |
import org.apache.wicket.markup.html.basic.Label; | import org.apache.wicket.markup.html.basic.Label; | ||||
import org.apache.wicket.markup.html.image.Image; | import org.apache.wicket.markup.html.image.Image; | ||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink; | import org.apache.wicket.markup.html.link.BookmarkablePageLink; | ||||
import org.eclipse.jgit.lib.Constants; | |||||
import org.eclipse.jgit.lib.Repository; | import org.eclipse.jgit.lib.Repository; | ||||
import org.eclipse.jgit.revwalk.RevCommit; | import org.eclipse.jgit.revwalk.RevCommit; | ||||
add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class).setEnabled(false)); | add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class).setEnabled(false)); | ||||
add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, | add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, | ||||
WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | ||||
add(new BookmarkablePageLink<Void>("headLink", BlobPage.class).setEnabled(false)); | |||||
add(new CommitHeaderPanel("commitHeader", objectId)); | add(new CommitHeaderPanel("commitHeader", objectId)); | ||||
add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId)); | add(new PathBreadcrumbsPanel("breadcrumbs", repositoryName, blobPath, objectId)); | ||||
Component c = new Label("blobText", JGitUtils.getStringContent(r, objectId, encodings)); | Component c = new Label("blobText", JGitUtils.getStringContent(r, objectId, encodings)); | ||||
WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | ||||
add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, | add(new BookmarkablePageLink<Void>("rawLink", RawPage.class, | ||||
WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | ||||
add(new BookmarkablePageLink<Void>("headLink", BlobPage.class, | |||||
WicketUtils.newPathParameter(repositoryName, Constants.HEAD, blobPath))); | |||||
add(new CommitHeaderPanel("commitHeader", repositoryName, commit)); | add(new CommitHeaderPanel("commitHeader", repositoryName, commit)); | ||||
<!-- blob nav links --> | <!-- blob nav links --> | ||||
<div class="page_nav2"> | <div class="page_nav2"> | ||||
<a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <a wicket:id="headLink"><wicket:message key="gb.head"></wicket:message></a> | <span wicket:id="compressedLinks"></span> | |||||
<a wicket:id="historyLink"><wicket:message key="gb.history"></wicket:message></a> | <span wicket:id="compressedLinks"></span> | |||||
</div> | </div> | ||||
<!-- commit header --> | <!-- commit header --> |
import org.apache.wicket.markup.repeater.Item; | import org.apache.wicket.markup.repeater.Item; | ||||
import org.apache.wicket.markup.repeater.data.DataView; | import org.apache.wicket.markup.repeater.data.DataView; | ||||
import org.apache.wicket.markup.repeater.data.ListDataProvider; | import org.apache.wicket.markup.repeater.data.ListDataProvider; | ||||
import org.eclipse.jgit.lib.Constants; | |||||
import org.eclipse.jgit.lib.FileMode; | import org.eclipse.jgit.lib.FileMode; | ||||
import org.eclipse.jgit.lib.Repository; | import org.eclipse.jgit.lib.Repository; | ||||
import org.eclipse.jgit.revwalk.RevCommit; | import org.eclipse.jgit.revwalk.RevCommit; | ||||
// tree page links | // tree page links | ||||
add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, | add(new BookmarkablePageLink<Void>("historyLink", HistoryPage.class, | ||||
WicketUtils.newPathParameter(repositoryName, objectId, path))); | WicketUtils.newPathParameter(repositoryName, objectId, path))); | ||||
add(new BookmarkablePageLink<Void>("headLink", TreePage.class, | |||||
WicketUtils.newPathParameter(repositoryName, Constants.HEAD, path))); | |||||
add(new CompressedDownloadsPanel("compressedLinks", getRequest() | add(new CompressedDownloadsPanel("compressedLinks", getRequest() | ||||
.getRelativePathPrefixToContextRoot(), repositoryName, objectId, path)); | .getRelativePathPrefixToContextRoot(), repositoryName, objectId, path)); | ||||