Avoiding excessive compiling after a rebase

John Jefferies john.jefferies at globalgraphics.com
Fri Jun 17 05:21:58 CDT 2011

On 17/06/2011 09:30, Andrei Vermel wrote:
> On 15-Jun-11 2:06 PM, John Jefferies wrote:
>> I like using the rebase feature. In particular, I'm rebasing applied 
>> MQ patches after pulling from the central repo.
>> This workflow does suffer one flaw (from my PoV) in that in my usage, 
>> the rebased files are all rewritten to disk. This has the conseqence 
>> of needing to rebuild these files, even though much of the time the 
>> rebased files haven't been merged during the rebase. My rebuild time 
>> can be significant, 10 minutes or more if a rebased header has many 
>> dependencies. And multiple configurations will require more again.
>> Has anyone considered touching the non-merged files to their original 
>> timestamps following a rebase?
> There's an extension 'qtimes' that does just that.
> 'qtimes -s' stores timestamps of files in a patch queue. I have it 
> called automatically after a build command.
> 'qtimes -r' restores the timestamps.

Thankyou Andrei, this looks like it will do exactly what I want (and I 
don't know how I missed it).

Unfortunately, when I try "hg qtimes -s" I get an exception. I presume 
there's something I'm missing and I hope the info in the exception makes 
it obvious to you or someone. FTR. I have 7 patches applied, with 19 
changed files.



** unknown exception encountered, please report by visiting
**  http://mercurial.selenic.com/wiki/BugTracker
** Python 2.6.6 (r266:84297, Aug 24 2010, 18:13:38) [MSC v.1500 64 bit 
** Mercurial Distributed SCM (version 1.8.2)
** Extensions loaded: fixfrozenexts, onsub, relink, graphlog, rebase, 
mq, color,
  transplant, extdiff, purge, qtimes
Traceback (most recent call last):
   File "hg", line 36, in <module>
   File "mercurial\dispatch.pyo", line 16, in run
   File "mercurial\dispatch.pyo", line 36, in dispatch
   File "mercurial\dispatch.pyo", line 58, in _runcatch
   File "mercurial\dispatch.pyo", line 601, in _dispatch
   File "mercurial\dispatch.pyo", line 406, in runcommand
   File "mercurial\extensions.pyo", line 178, in wrap
   File "hgext\color.pyo", line 223, in colorcmd
   File "mercurial\dispatch.pyo", line 655, in _runcommand
   File "mercurial\dispatch.pyo", line 609, in checkargs
   File "mercurial\dispatch.pyo", line 598, in <lambda>
   File "mercurial\util.pyo", line 433, in check
   File "mercurial\extensions.pyo", line 133, in wrap
   File "mercurial\util.pyo", line 433, in check
   File "hgext\mq.pyo", line 3049, in mqcommand
   File "mercurial\util.pyo", line 433, in check
   File "F:\Zip-files\Mercurial\qtimes\qtimes.py", line 24, in times
     files, matchfn, anypats = cmdutil.matchpats(repo, pats, opts)
AttributeError: 'module' object has no attribute 'matchpats'

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20110617/2de48e97/attachment.htm>

More information about the Mercurial mailing list