mq: add --currentdate and --date options to qnew and qrefresh
These options make qnew add and qrefresh update a "# Date "-style
header line. This allows proper recording of creation / last
modification dates of patches in patch queues.
Note that `qrefresh -D` only updates existing header lines. It never
adds them, and does not warn about this. This is because I expect
people to have `[default] qrefresh -D` in their .hgrc so patches with
tracked dates get updated, others are left unchanged. The suggested
setup in .hgrc is, in fact,
[default]
qnew = -D -U
qrefresh = -D
I tried to not mix header styles, so `qnew -D -U` now writes the user in
"# User "-style, while `qnew -U` still writes it "From: "-style. Also, if
`qrefresh -U` must add the user, it does so in "# User "-style if the
header contains a "# HG changeset patch" line. (This is caused by mq
not supporting the "Date: "-style header line at all - a reasonable choice
given its standard date format.)
#header#
<title>#repo|escape#: Summary</title>
<link rel="alternate" type="application/atom+xml"
href="{url}atom-log" title="Atom feed for #repo|escape#">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for #repo|escape#">
</head>
<body>
<div class="page_header">
<a href="http://www.selenic.com/mercurial/" title="Mercurial"><div style="float:right;">Mercurial</div></a><a href="{url}summary{sessionvars%urlparameter}">#repo|escape#</a> / summary
<form action="{url}log">
{sessionvars%hiddenformentry}
<div class="search">
<input type="text" name="rev" />
</div>
</form>
</div>
<div class="page_nav">
summary |
<a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
<a href="{url}log{sessionvars%urlparameter}">changelog</a> |
<a href="{url}tags{sessionvars%urlparameter}">tags</a> |
<a href="{url}file/#node|short#{sessionvars%urlparameter}">manifest</a>#archives%archiveentry#
<br/>
</div>
<div class="title"> </div>
<table cellspacing="0">
<tr><td>description</td><td>#desc#</td></tr>
<tr><td>owner</td><td>#owner|obfuscate#</td></tr>
<tr><td>last change</td><td>#lastchange|rfc822date#</td></tr>
</table>
<div><a class="title" href="{url}shortlog{sessionvars%urlparameter}">changes</a></div>
<table cellspacing="0">
#shortlog#
<tr class="light"><td colspan="4"><a class="list" href="{url}shortlog{sessionvars%urlparameter}">...</a></td></tr>
</table>
<div><a class="title" href="{url}tags{sessionvars%urlparameter}">tags</a></div>
<table cellspacing="0">
#tags#
<tr class="light"><td colspan="3"><a class="list" href="{url}tags{sessionvars%urlparameter}">...</a></td></tr>
</table>
<div><a class="title" href="#">branches</a></div>
<table cellspacing="0">
{branches%branchentry}
<tr class="light">
<td colspan="4"><a class="list" href="#">...</a></td>
</tr>
</table>
#footer#