record: change interface of dorecord to accept new filters
This makes it easier to add different filtering logic (record /crecord ...)
--- a/hgext/record.py Wed Mar 11 16:18:47 2015 -0700
+++ b/hgext/record.py Wed Mar 11 16:39:38 2015 -0700
@@ -66,7 +66,8 @@
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 @@
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']:
--- a/mercurial/cmdutil.py Wed Mar 11 16:18:47 2015 -0700
+++ b/mercurial/cmdutil.py Wed Mar 11 16:39:38 2015 -0700
@@ -19,7 +19,11 @@
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 @@
# 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)
--- a/mercurial/commands.py Wed Mar 11 16:18:47 2015 -0700
+++ b/mercurial/commands.py Wed Mar 11 16:39:38 2015 -0700
@@ -1431,7 +1431,8 @@
"""
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'):