##// END OF EJS Templates
localrepo: decorate dirstate() with filecache...
localrepo: decorate dirstate() with filecache We refresh the stat info when releasing repo.wlock(), right after writing it. Also, invalidate the dirstate by deleting its attribute. This will force a stat by the decorator that actually checks if anything changed, rather than reading it again every time. Note that prior to this, there was a single dirstate instance created for a localrepo. It was invalidated by calling dirstate.invalidated(), clearing its internal attributes. As a consequence, the following construct is no longer safe: ds = repo.dirstate # keep a reference to the repo's dirstate wlock = repo.wlock() try: ds.setparents(...) finally: wlock.release() # dirstate should be written here Since it's possible that the dirstate was modified between lines #1 and #2, therefore changes to the old dirstate won't get written when the lock releases, because a new instance was created by the decorator.

File last commit:

r14913:44382887 default
r14930:372d9d8b default
Show More
bookmarks.tmpl
49 lines | 1.3 KiB | application/x-cheetah | CheetahLexer
{header}
<title>{repo|escape}: bookmarks</title>
<link rel="alternate" type="application/atom+xml"
href="{url}atom-bookmarks" title="Atom feed for {repo|escape}: bookmarks" />
<link rel="alternate" type="application/rss+xml"
href="{url}rss-bookmarks" title="RSS feed for {repo|escape}: bookmarks" />
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="{logourl}">
<img src="{staticurl}{logoimg}" alt="mercurial" /></a>
</div>
<ul>
<li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
<li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
<li class="active">bookmarks</li>
<li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
</ul>
<ul>
<li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
</ul>
</div>
<div class="main">
<h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
<h3>bookmarks</h3>
<form class="search" action="{url}log">
{sessionvars%hiddenformentry}
<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</form>
<table class="bigtable">
<tr>
<th>bookmark</th>
<th>node</th>
</tr>
{entries%bookmarkentry}
</table>
</div>
</div>
{footer}