store: encode trailing period and space on directory names (
issue1417)
Windows won't create directories with names ending in period or space, so
we encode the last period/space character in directory names of non-hashed
paths in the store using reversible ~xx encoding (' ' -> '~20', '.' -> '~2e').
With this change it is possible to remove a directory ending in period or space
that was inadvertantly checked in on a linux system while still being able
to clone such a repository with its full history to Windows (see also
issue793).
{header}
<title>{repo|escape}: {file|escape} diff</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://www.selenic.com/mercurial/">
<img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
</div>
<ul>
<li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
<li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
</ul>
<ul>
<li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
<li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
</ul>
<ul>
<li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
<li class="active">diff</li>
<li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
<li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
<li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
</ul>
</div>
<div class="main">
<h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
<h3>diff {file|escape} @ {rev}:{node|short}</h3>
<form class="search" action="{url}log">
{sessionvars%hiddenformentry}
<p><input name="rev" id="search1" type="text" size="30"></p>
<span>find changesets by author, revision,
files, or words in the commit message</span>
</form>
<div class="description">{desc|strip|escape|addbreaks}</div>
<table id="changesetEntry">
<tr>
<th>author</th>
<td>{author|obfuscate}</td>
</tr>
<tr>
<th>date</th>
<td>{date|date} ({date|age} ago)</td>
</tr>
<tr>
<th>parents</th>
<td>{parent%filerevparent}</td>
</tr>
<tr>
<th>children</th>
<td>{child%filerevchild}</td>
</tr>
{changesettag}
</table>
<div class="overflow">
<div class="sourcefirst"> line diff</div>
{diff}
</div>
</div>
</div>
{footer}