Blame parent instead of self if blame link would go nowhere This is intended to make walking back through history on a file easier. Bug: Issue 64 Change-Id: I2f8540021d8d59cd69f9b4e2088b607d40086216
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameServlet.java index 7f18de2..9c5edbd 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/blame/BlameServlet.java
@@ -219,10 +219,17 @@ } Map<String, Object> e = Maps.newHashMapWithExpectedSize(6); e.put("abbrevSha", abbrevSha); + String blameParent = ""; + String blameText = "blame"; + if (view.getRevision().getName().equals(r.getSourceCommit().name())) { + blameParent = "^"; + blameText = "blame^"; + } e.put("blameUrl", GitilesView.blame().copyFrom(view) - .setRevision(r.getSourceCommit().name()) + .setRevision(r.getSourceCommit().name() + blameParent) .setPathPart(r.getSourcePath()) .toUrl()); + e.put("blameText", blameText); e.put("commitUrl", GitilesView.revision().copyFrom(view) .setRevision(r.getSourceCommit().name()) .toUrl());
diff --git a/gitiles-servlet/src/main/resources/com/google/gitiles/templates/BlameDetail.soy b/gitiles-servlet/src/main/resources/com/google/gitiles/templates/BlameDetail.soy index a35b6e2..f5110d8 100644 --- a/gitiles-servlet/src/main/resources/com/google/gitiles/templates/BlameDetail.soy +++ b/gitiles-servlet/src/main/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -55,7 +55,7 @@ <td class="Blame-time">{$region.author.time}</span> <td class="Blame-regionLink"> [<a href="{$region.diffUrl}">{msg desc="text for diff URL"}diff{/msg}</a>] - [<a href="{$region.blameUrl}">{msg desc="text for blame URL"}blame{/msg}</a>] + [<a href="{$region.blameUrl}">{msg desc="text for blame URL"}{$region.blameText}{/msg}</a>] </td> {else} <td colspan="4"></td>