# HG changeset patch # User Laurent Charignon # Date 1426117178 25200 # Node ID fefcafda10b8a4852273dc31516dec44e5811fc0 # Parent 1725843a7644fd6b90bdafab1a451f005630bd16 record: change interface of dorecord to accept new filters This makes it easier to add different filtering logic (record /crecord ...) diff -r 1725843a7644 -r fefcafda10b8 hgext/record.py --- 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']: diff -r 1725843a7644 -r fefcafda10b8 mercurial/cmdutil.py --- 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) diff -r 1725843a7644 -r fefcafda10b8 mercurial/commands.py --- 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'):