##// END OF EJS Templates
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes...
tests: add test-remotefilelog-strip.t to demonstrate an issue with linknodes ### Background Every time a commit is modified, remotefilelog updates the metadata for the file object to point to the new commit (I believe that this is different from non-remotefilelog hg, which leaves the linkrevs pointing to the obsolete commits; doing otherwise would involve changing data in the middle of revlogs). With `hg strip` (or other things that use repair.strip()), when you strip a commit that's not the tip of the revlog, there may be commits after it in revnum order that aren't descended from it and don't need to be (and shouldn't be) stripped. These are "saved" by strip in a bundle, and that bundle is reapplied after truncating the relevant revlogs. ### The problem Remotefilelog generally avoids being involved at all in strip. Currently, that includes even providing file contents to this backup bundle. This can cause the linknode to point to a changeset that is no longer in the repository. Example: ``` @ 3 df91f74b871e | | x 2 70494d7ec5ef |/ | x 1 1e423846dde0 |/ o 0 b292c1e3311f ``` Commits 1, 2, and 3 are related via obsolescence, and are description-only changes. The linknode for the file in these commits changed each time we updated the description, so it's currently df91f7. If I strip commits 1 and 3, however, the linknode *remains* df91f7, which no longer exists in the repository. Commit 70494d was "saved", stripped, and then reapplied, so it is in the repository (as revision 1 instead of 2 now), and was unobsoleted since the obsmarker was stripped as well. The linknode for the file should point to 70494d, the most recent commit that is in the repository that modified the file. Remotefilelog has some logic to handle broken linknodes, but it can be slow. We have actually disabled it internally because it's too slow for our purposes. Differential Revision: https://phab.mercurial-scm.org/D10319

File last commit:

r32759:265196cd default
r47605:2819df46 default
Show More
tags.tmpl
32 lines | 1.4 KiB | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {header}
<title>{repo|escape}: Tags</title>
av6
monoblue: correct feed links on /branches, /tags and /bookmarks
r27550 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"/>
<link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </head>
<body>
<div id="container">
<div class="page-header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / tags</h1>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Gregory Szorc
hgweb: consolidate search form for monoblue...
r32759 {searchform}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
<ul class="page-nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <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}changelog{sessionvars%urlparameter}">changelog</a></li>
av6
hgweb: don't point graph links at tip hash where it doesn't make sense...
r25525 <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <li class="current">tags</li>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
av6
hgweb: don't point file links at tip hash where it doesn't make sense...
r25526 <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li>
Anton Shestakov
hgweb: don't mix tabs and spaces in monoblue templates
r24129 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </ul>
</div>
<h2 class="no-link no-border">tags</h2>
<table cellspacing="0">
{entries%tagentry}
</table>
{footer}