diff options
author | James Moger <james.moger@gitblit.com> | 2011-07-22 17:47:53 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-07-22 17:47:53 -0400 |
commit | a2709dd91e5d6b18f573016882ccc70799573ad3 (patch) | |
tree | 6b87a08d65c462d9f51b253e7deafb95c7167bbb /src/com/gitblit/wicket/pages/CommitPage.java | |
parent | b1dba764c201f4708b82767b2d91edb6e189ce6f (diff) | |
download | gitblit-a2709dd91e5d6b18f573016882ccc70799573ad3.tar.gz gitblit-a2709dd91e5d6b18f573016882ccc70799573ad3.zip |
Centralize default branch/HEAD resolution (issue 14)
If an object id was not specified Gitblit used HEAD to perform the
operation. This breaks under some conditions like working with a
repository that does not have any commits on master but does have
commits on a vcs-import branch.
The new approach is to centralize the resolution of unspecified object
ids to a common method which resolves HEAD first but uses the most
recently modified branch if HEAD points to nothing.
This commit also includes a non-functional method for creating an empty
branch. I couldn't figure out how to make JGit create an orphaned
branch.
Diffstat (limited to 'src/com/gitblit/wicket/pages/CommitPage.java')
-rw-r--r-- | src/com/gitblit/wicket/pages/CommitPage.java | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/com/gitblit/wicket/pages/CommitPage.java b/src/com/gitblit/wicket/pages/CommitPage.java index 3e3dcb8b..b49b1d63 100644 --- a/src/com/gitblit/wicket/pages/CommitPage.java +++ b/src/com/gitblit/wicket/pages/CommitPage.java @@ -150,22 +150,25 @@ public class CommitPage extends RepositoryPage { item.add(changeType);
if (entry.isTree()) {
item.add(new LinkPanel("pathName", null, entry.path, TreePage.class,
- newPathParameter(entry.path)));
+ WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path)));
} else {
item.add(new LinkPanel("pathName", "list", entry.path, BlobPage.class,
- newPathParameter(entry.path)));
+ WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path)));
}
- item.add(new BookmarkablePageLink<Void>("diff", BlobDiffPage.class,
- newPathParameter(entry.path)).setEnabled(!entry.changeType
- .equals(ChangeType.ADD) && !entry.changeType.equals(ChangeType.DELETE)));
- item.add(new BookmarkablePageLink<Void>("view", BlobPage.class,
- newPathParameter(entry.path)));
- item.add(new BookmarkablePageLink<Void>("blame", BlamePage.class,
- newPathParameter(entry.path)));
- item.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
- newPathParameter(entry.path)).setEnabled(!entry.changeType
- .equals(ChangeType.ADD)));
+ item.add(new BookmarkablePageLink<Void>("diff", BlobDiffPage.class, WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path))
+ .setEnabled(!entry.changeType.equals(ChangeType.ADD)
+ && !entry.changeType.equals(ChangeType.DELETE)));
+ item.add(new BookmarkablePageLink<Void>("view", BlobPage.class, WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path)));
+ item.add(new BookmarkablePageLink<Void>("blame", BlamePage.class, WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path)));
+ item.add(new BookmarkablePageLink<Void>("history", HistoryPage.class, WicketUtils
+ .newPathParameter(repositoryName, entry.commitId, entry.path))
+ .setEnabled(!entry.changeType.equals(ChangeType.ADD)));
WicketUtils.setAlternatingBackground(item, counter);
counter++;
|