Set path context on more URLs in commit detail Change-Id: I1ba837676975aa6d1d8211d77cbd7ac2346f3bd6
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/CommitData.java b/gitiles-servlet/src/main/java/com/google/gitiles/CommitData.java index 0f614e6..3048aa8 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/CommitData.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/CommitData.java
@@ -144,6 +144,7 @@ result.tree = c.getTree().copy(); } if (fs.contains(Field.TREE_URL)) { + // Tree always implies the root tree. result.treeUrl = GitilesView.path().copyFrom(view).setPathPart("/").toUrl(); } if (fs.contains(Field.PARENTS)) { @@ -175,12 +176,12 @@ } } - private static String urlFromView(GitilesView view, RevCommit commit, - GitilesView.Builder builder) { + private static String urlFromView(GitilesView view, RevCommit commit, GitilesView.Builder builder) { Revision rev = view.getRevision(); return builder.copyFrom(view) + .setOldRevision(Revision.NULL) .setRevision(rev.getId().equals(commit) ? rev.getName() : commit.name(), commit) - .setPathPart(null) + .setPathPart(view.getPathPart()) .toUrl(); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java b/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java index bd03eb2..3e77d8d 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/CommitSoyData.java
@@ -158,6 +158,8 @@ // viewing a diff against one of the parents. for (RevCommit parent : parents) { String name = parent.name(); + // Clear path on parent diff view, since this parent may not have a diff + // for the path in question. GitilesView.Builder diff = GitilesView.diff().copyFrom(view).setPathPart(""); String parentName; if (parents.size() == 1) {