##// END OF EJS Templates
tryimportone: use dirstateguard instead of beginparentchange/endparentchange...
tryimportone: use dirstateguard instead of beginparentchange/endparentchange To fix the issue that the recent (in memory) dirstate isn't visible to external process (e.g. "precommit" hook), a subsequent patch makes "localrepository.commit()" invoke "dirstate.write()" in it. This change will make "beginparentchange()" and "endparentchange()" on dirstate in "cmdutil.tryimportone()" meaningless, because: - "dirstate.write()" writes changed data into ".hg/dirstate", but - aborting between "beginparentchange()" and "endparentchange()" doesn't cause any restoring ".hg/dirstate" it just discards changes in memory. This patch uses "dirstateguard" instead of "beginparentchange()" and "endparentchange()" in "cmdutil.tryimportone()" to restore ".hg/dirstate" during a failure even if "dirstate.write()" is executed before a failure. This patch uses "lockmod.release(dsguard)" instead of "dsguard.release()", because processing may be aborted before assignment to "dsguard" , and the "if dsguard" examination for safety is redundant.

File last commit:

r23830:c4f6fc4e default
r24995:0579b0c2 default
Show More
footer.tmpl
23 lines | 703 B | application/x-cheetah | CheetahLexer
<script type="text/javascript">process_dates()</script>
<div class="page-footer">
<p>Mercurial Repository: {repo|escape}</p>
<ul class="rss-logo">
<li><a href="{url|urlescape}rss-log">RSS</a></li>
<li><a href="{url|urlescape}atom-log">Atom</a></li>
</ul>
{motd}
</div>
<div id="powered-by">
<p><a href="{logourl}" title="Mercurial"><img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial" /></a></p>
</div>
<div id="corner-top-left"></div>
<div id="corner-top-right"></div>
<div id="corner-bottom-left"></div>
<div id="corner-bottom-right"></div>
</div>
</body>
</html>