mercurial/templates/monoblue/fileannotate.tmpl
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 08 Aug 2015 00:16:02 -0700
changeset 26056 5f2a4fc3c4fa
parent 25604 0cdcbc477cac
child 26598 264e88901c44
permissions -rw-r--r--
ui: move URL and path detection into path API ui.expandpath() has code for recognizing URLs or local filesystem paths. Our goal is to use ``path`` class instances everywhere a path is represented. Changing ui.expandpath() to return path instances is a lot of work. Our goal is to slowly marginalize it by moving logic into the paths API and to convert callers to the paths API. Many callers of ui.expandpath() pass in a value that could be a local filesystem path or URI. We move the detection of these strings from ui.expandpath() to paths.getpath() and path.__init__(). To do this properly in a way that is compatible with future callers, we need to parse the "#branch" syntax out of locations. This is a bit complicated, but it is necessary. The code for URL parsing is essentially a copy of hg.parseurl(). Once all consumers are speaking the paths API, it is likely that this function won't be called any more and it can be deleted.

{header}
<title>{repo|escape}: {file|escape}@{node|short} (annotated)</title>
    <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
    <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
</head>

<body>
<div id="container">
    <div class="page-header">
        <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / annotate</h1>

        <form action="{url|urlescape}log">
            {sessionvars%hiddenformentry}
            <dl class="search">
                <dt><label>Search: </label></dt>
                <dd><input type="text" name="rev" /></dd>
            </dl>
        </form>

        <ul class="page-nav">
            <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
            <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
            <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li>
            <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li>
            <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
            <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
            <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
            <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li>
            <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
        </ul>
    </div>

    <ul class="submenu">
        <li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
        <li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li>
        <li class="current">annotate</li>
        <li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
        <li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li>
        <li><a href="{url|urlescape}raw-annotate/{symrev}/{file|urlescape}">raw</a></li>
    </ul>

    <h2 class="no-link no-border">{file|escape}@{node|short} (annotated)</h2>
    <h3 class="changeset">{file|escape}</h3>
    <p class="changeset-age"><span class="age">{date|rfc822date}</span></p>

    <dl class="overview">
        <dt>author</dt>
        <dd>{author|obfuscate}</dd>
        <dt>date</dt>
        <dd>{date|rfc822date}</dd>
        {branch%filerevbranch}
        <dt>changeset {rev}</dt>
        <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>
        {parent%fileannotateparent}
        {child%fileannotatechild}
        <dt>permissions</dt>
        <dd>{permissions|permissions}</dd>
    </dl>

    <p class="description">{desc|strip|escape|websub|addbreaks|nonempty}</p>

    <table class="annotated">
    {annotate%annotateline}
    </table>

{footer}