<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mozilla.org/index.php?action=history&amp;feed=atom&amp;title=User%3ADirkjanOchtman%2FWaldo_Mercurial_Issues</id>
	<title>User:DirkjanOchtman/Waldo Mercurial Issues - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mozilla.org/index.php?action=history&amp;feed=atom&amp;title=User%3ADirkjanOchtman%2FWaldo_Mercurial_Issues"/>
	<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=User:DirkjanOchtman/Waldo_Mercurial_Issues&amp;action=history"/>
	<updated>2026-06-07T06:38:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.mozilla.org/index.php?title=User:DirkjanOchtman/Waldo_Mercurial_Issues&amp;diff=94615&amp;oldid=prev</id>
		<title>DirkjanOchtman: Initial version.</title>
		<link rel="alternate" type="text/html" href="https://wiki.mozilla.org/index.php?title=User:DirkjanOchtman/Waldo_Mercurial_Issues&amp;diff=94615&amp;oldid=prev"/>
		<updated>2008-05-28T08:06:04Z</updated>

		<summary type="html">&lt;p&gt;Initial version.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Dependency tools don&amp;#039;t like last-modified time changes&lt;br /&gt;
* mq should save last-modified, last-accessed, creation dates when qref, qfold, qnew -f a patch (potentially a non-exhaustive list)&lt;br /&gt;
* qpop and qpush should appropriately restore these bits of metadata when they  run, such that a qpop -a followed by a qpush -a results in the exact same date metadata as if nothing had happened; a qpop/qpush which isn&amp;#039;t -a should restore to the newest of the date of the destination patch and the dates on the intervening patches (to handle a pop, an edit and a qref, and a push followed by a build -- want a change down the stack to be propagated back up), also modifying the saved dates in the patches along the way&lt;br /&gt;
* motivation: suppose you have a patch to a hugely important file which triggers a full rebuild of your source tree whenever it changes; this patch is midway through the queue; popping everything changes the modification time, updating only changes times on those files that changed, and qpush again changes everything to the time of the qpush -- so even if that important file is in the exact same state it was in before the pops/update/pushes, it&amp;#039;ll appear to dependency tools as though it had been changed; this will cause a costly (but entirely avoidable) rebuild&lt;br /&gt;
* this is only a sketch; I haven&amp;#039;t thought deeply about&lt;br /&gt;
** Hmm, I think there are problems with this. Not entirely sure, though. [[User:DirkjanOchtman|DirkjanOchtman]] 01:06, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
hg qinsert&lt;br /&gt;
* if I accidentally start one very small patch on top of another, sometimes I want to be able to move the small patch closer to the bottom of the stack&lt;br /&gt;
* don&amp;#039;t even need accident for this to happen -- it would happen if you receive a favorable review on a patch closer to the top of the stack before one lower on the stack receives favorable review&lt;br /&gt;
* manual reordering of .hg/patches/series is possible, but if the patches conflict you get ugly patch-induced conflicts -- no pretty merge tools or anything like that&lt;br /&gt;
* sketch of the commandline interface:&lt;br /&gt;
  hg qinsert PATCH&lt;br /&gt;
  &lt;br /&gt;
  adjusts a patch within the queue so that it is the next patch&lt;br /&gt;
  Moves the given patch from its current location in the queue to the&lt;br /&gt;
  position immediately after the current patch.  If the patch in question&lt;br /&gt;
  does not conflict with any patch between it and the point between the&lt;br /&gt;
  current and next patches, it is moved silently.  If it conflicts with&lt;br /&gt;
  any patch in that sequence, the merge tool is opened to resolve the&lt;br /&gt;
  conflict and to then proceed with reordering.&lt;br /&gt;
  &lt;br /&gt;
  -p  Make the patch the previous rather than next patch in the queue&lt;br /&gt;
  -s  Go to the reordered patch when finished&lt;br /&gt;
* I&amp;#039;d prefer a qpush -m option that doesn&amp;#039;t push all the patches between current applied and target patch, but rewrites the series file to have the target patch at current + 1. [[User:DirkjanOchtman|DirkjanOchtman]] 01:06, 28 May 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
qrefresh documentation:&lt;br /&gt;
* pattern syntax isn&amp;#039;t documented; I expected it was regular expression syntax at first, but it actually appears to be shell globs&lt;br /&gt;
* the syntaxes given for -I and -X are misleading:&lt;br /&gt;
&lt;br /&gt;
  hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]...&lt;br /&gt;
&lt;br /&gt;
* from this and the descriptions I expect to put the patterns at the end, because they weren&amp;#039;t shown inline here&lt;br /&gt;
** Hmm, let&amp;#039;s figure out some documentation here. [[User:DirkjanOchtman|DirkjanOchtman]] 01:06, 28 May 2008 (PDT)&lt;/div&gt;</summary>
		<author><name>DirkjanOchtman</name></author>
	</entry>
</feed>