diff --git a/hgext/record.py b/hgext/record.py --- a/hgext/record.py +++ b/hgext/record.py @@ -66,7 +66,8 @@ def qrefresh(origfn, ui, repo, *pats, ** mq.refresh(ui, repo, **opts) # backup all changed files - cmdutil.dorecord(ui, repo, committomq, 'qrefresh', True, *pats, **opts) + cmdutil.dorecord(ui, repo, committomq, 'qrefresh', True, + cmdutil.recordfilter, *pats, **opts) # This command registration is replaced during uisetup(). @command('qrecord', @@ -91,7 +92,8 @@ def qrecord(ui, repo, patch, *pats, **op opts['checkname'] = False mq.new(ui, repo, patch, *pats, **opts) - cmdutil.dorecord(ui, repo, committomq, 'qnew', False, *pats, **opts) + cmdutil.dorecord(ui, repo, committomq, 'qnew', False, + cmdutil.recordfilter, *pats, **opts) def qnew(origfn, ui, repo, patch, *args, **opts): if opts['interactive']: diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -19,7 +19,11 @@ import lock as lockmod def parsealiases(cmd): return cmd.lstrip("^").split("|") -def dorecord(ui, repo, commitfunc, cmdsuggest, backupall, *pats, **opts): +def recordfilter(ui, fp): + return patch.filterpatch(ui, patch.parsepatch(fp)) + +def dorecord(ui, repo, commitfunc, cmdsuggest, backupall, + filterfn, *pats, **opts): import merge as mergemod if not ui.interactive(): raise util.Abort(_('running non-interactively, use %s instead') % @@ -61,7 +65,7 @@ def dorecord(ui, repo, commitfunc, cmdsu # 1. filter patch, so we have intending-to apply subset of it try: - chunks = patch.filterpatch(ui, patch.parsepatch(fp)) + chunks = filterfn(ui, fp) except patch.PatchError, err: raise util.Abort(_('error parsing patch: %s') % err) diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1431,7 +1431,8 @@ def commit(ui, repo, *pats, **opts): """ if opts.get('interactive'): opts.pop('interactive') - cmdutil.dorecord(ui, repo, commit, 'commit', False, *pats, **opts) + cmdutil.dorecord(ui, repo, commit, 'commit', False, + cmdutil.recordfilter, *pats, **opts) return if opts.get('subrepos'):