Add dirstate.pathto and localrepo.pathto.
Every time util.pathto is called, we have to pass the repo root and the
repo cwd.
dirstate.pathto is a simple convenience function that knows about the
root and the cwd arguments. It's still possible to pass the cwd as an
optimization.
localrepo.pathto is a convenience function that just calls
dirstate.pathto, just like localrepo.getcwd.
dirstate.pathto becomes a single point that converts most (all?) paths
from the internal representation to some OS-specific relative path for
display purposes.
#header#
<title>#repo|escape#:#file|escape#</title>
</head>
<body>
<div class="buttons">
<a href="#url#log/#rev#{sessionvars%urlparameter}">changelog</a>
<a href="#url#shortlog/#rev#{sessionvars%urlparameter}">shortlog</a>
<a href="#url#tags{sessionvars%urlparameter}">tags</a>
<a href="#url#rev/#node|short#{sessionvars%urlparameter}">changeset</a>
<a href="#url#file/#node|short##path|urlescape#{sessionvars%urlparameter}">manifest</a>
<a href="#url#log/#node|short#/#file|urlescape#{sessionvars%urlparameter}">revisions</a>
<a href="#url#annotate/#node|short#/#file|urlescape#{sessionvars%urlparameter}">annotate</a>
<a href="#url#raw-file/#node|short#/#file|urlescape#">raw</a>
</div>
<h2>#file|escape#</h2>
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
<td><a href="#url#rev/#node|short#{sessionvars%urlparameter}">#node|short#</a></td></tr>
#parent%filerevparent#
#child%filerevchild#
<tr>
<td class="metatag">author:</td>
<td>#author|obfuscate#</td></tr>
<tr>
<td class="metatag">date:</td>
<td>#date|date# (#date|age# ago)</td></tr>
<tr>
<td class="metatag">permissions:</td>
<td>#permissions|permissions#</td></tr>
<tr>
<td class="metatag">description:</td>
<td>{desc|strip|escape|addbreaks}</td>
</tr>
</table>
<pre>
#text%fileline#
</pre>
#footer#