@@ -131,6 +131,7 @@ def _filerevision(web, req, tmpl, fctx):
f = fctx.path()
text = fctx.data()
parity = paritygen(web.stripecount)
+ ishead = fctx.filerev() in fctx.filelog().headrevs()
if util.binary(text):
mt = mimetypes.guess_type(f)[0] or 'application/octet-stream'
@@ -150,6 +151,7 @@ def _filerevision(web, req, tmpl, fctx):
symrev=webutil.symrevorshortnode(req, fctx),
rename=webutil.renamelink(fctx),
permissions=fctx.manifest().flags(f),
+ ishead=int(ishead),
**webutil.commonentry(web.repo, fctx))
@webcommand('file')
@@ -64,7 +64,7 @@ file |
</div>
<div class="page_body">
-<pre class="sourcelines stripes" data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}">{text%fileline}</pre>
+<pre class="sourcelines stripes" data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" data-ishead="{ishead}">{text%fileline}</pre>
</div>
<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script>
@@ -71,7 +71,7 @@
<div class="overflow">
<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
<div class="sourcefirst"> line source</div>
-<pre class="sourcelines stripes4 wrap bottomline" data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}">{text%fileline}</pre>
+<pre class="sourcelines stripes4 wrap bottomline" data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" data-ishead="{ishead}">{text%fileline}</pre>
</div>
<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script>
@@ -17,6 +17,8 @@ document.addEventListener('DOMContentLoa
return;
}
+ var isHead = parseInt(sourcelines.dataset.ishead || "0");
+
// tooltip to invite on lines selection
var tooltip = document.createElement('div');
tooltip.id = 'followlines-tooltip';
@@ -153,7 +155,7 @@ document.addEventListener('DOMContentLoa
// append the <div id="followlines"> element to last line of the
// selection block
- var divAndButton = followlinesBox(targetUri, startId, endId);
+ var divAndButton = followlinesBox(targetUri, startId, endId, isHead);
var div = divAndButton[0],
button = divAndButton[1];
inviteElement.appendChild(div);
@@ -186,7 +188,7 @@ document.addEventListener('DOMContentLoa
sourcelines.addEventListener('click', lineSelectStart);
//** return a <div id="followlines"> and inner cancel <button> elements */
- function followlinesBox(targetUri, fromline, toline) {
+ function followlinesBox(targetUri, fromline, toline, isHead) {
// <div id="followlines">
var div = document.createElement('div');
div.id = 'followlines';
@@ -213,13 +215,16 @@ document.addEventListener('DOMContentLoa
aAsc.setAttribute('href', url);
aAsc.textContent = 'ascending';
aDiv.appendChild(aAsc);
- var sep = document.createTextNode(' / ');
- aDiv.appendChild(sep);
- // link to "descending" followlines
- var aDesc = document.createElement('a');
- aDesc.setAttribute('href', url + '&descend=');
- aDesc.textContent = 'descending';
- aDiv.appendChild(aDesc);
+
+ if (!isHead) {
+ var sep = document.createTextNode(' / ');
+ aDiv.appendChild(sep);
+ // link to "descending" followlines
+ var aDesc = document.createElement('a');
+ aDesc.setAttribute('href', url + '&descend=');
+ aDesc.textContent = 'descending';
+ aDiv.appendChild(aDesc);
+ }
div.appendChild(aDiv);
@@ -1343,7 +1343,7 @@ File-related
<div class="overflow">
<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
<div class="sourcefirst"> line source</div>
- <pre class="sourcelines stripes4 wrap bottomline" data-logurl="/log/1/foo">
+ <pre class="sourcelines stripes4 wrap bottomline" data-logurl="/log/1/foo" data-ishead="0">
<span id="l1">foo</span><a href="#l1"></a></pre>
</div>
@@ -1471,7 +1471,7 @@ File-related
<div class="overflow">
<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
<div class="sourcefirst"> line source</div>
- <pre class="sourcelines stripes4 wrap bottomline" data-logurl="/log/2/foo">
+ <pre class="sourcelines stripes4 wrap bottomline" data-logurl="/log/2/foo" data-ishead="1">
<span id="l1">another</span><a href="#l1"></a></pre>
</div>