[PATCH 2 of 4] gitweb: add links to diff and changeset views from annotate view table

Anton Shestakov engored at ya.ru
Mon Jun 6 05:00:24 EDT 2016


06.06.2016, 16:09, "Denis Laxalde" <denis.laxalde at logilab.fr>:
> # HG changeset patch
> # User Denis Laxalde <denis.laxalde at logilab.fr>
> # Date 1464883191 -7200
> # Thu Jun 02 17:59:51 2016 +0200
> # Node ID 632a34ed3b63420e1444cb4c3a09a0692b274615
> # Parent 506891a0db9f74ec9fee2c0bd3a7ed6af12eb83b
> gitweb: add links to diff and changeset views from annotate view table
>
> diff --git a/mercurial/templates/gitweb/map b/mercurial/templates/gitweb/map
> --- a/mercurial/templates/gitweb/map
> +++ b/mercurial/templates/gitweb/map
> @@ -100,6 +100,12 @@ annotateline = '
>        <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
>           title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
>      </td>
> + <td>
> + <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
> + title="diff">diff</a>
> + <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"
> + title="rev">rev</a>
> + </td>

In the diff link, #l{targetline} will not work as intended, for two reasons:

1. diffs can contain multiple files and so line links are referred by id="l<filenumber>.<linenumber>". Hard-coding file number to always be 1 (after all it's a diff for one file) also wouldn't work because
2. targetline is not the line number in a diff, it's a line number in the file

Another thing: title attributes could be a lot clearer, because right now they just duplicate text content, and so are totally useless. Look at the original link above your changes; it has useful things in its title, like node hash and the first line of commit message.

Here's an informative example of rev title: "mercurial/templates/gitweb/map at 632a34ed3b63".


More information about the Mercurial-devel mailing list