mercurial/commands.py
changeset 6582 5acbdd3941c4
parent 6579 0159b7a36184
child 6583 3951e04ea989
--- a/mercurial/commands.py	Mon May 12 11:37:07 2008 -0500
+++ b/mercurial/commands.py	Mon May 12 11:37:07 2008 -0500
@@ -959,9 +959,8 @@
     """
     node1, node2 = cmdutil.revpair(repo, opts['rev'])
 
-    fns, matchfn, anypats = cmdutil.matchpats(repo, pats, opts)
-
-    patch.diff(repo, node1, node2, fns, match=matchfn,
+    m = cmdutil.match(repo, pats, opts)
+    patch.diff(repo, node1, node2, m.files(), match=m,
                opts=patch.diffopts(ui, opts))
 
 def export(ui, repo, *changesets, **opts):
@@ -1958,10 +1957,10 @@
         ctx = repo.workingctx()
 
     if file_:
-        files, match, anypats = cmdutil.matchpats(repo, (file_,), opts)
-        if anypats or len(files) != 1:
+        m = cmdutil.match(repo, (file_,), opts)
+        if m.anypats() or len(m.files()) != 1:
             raise util.Abort(_('can only specify an explicit file name'))
-        file_ = files[0]
+        file_ = m.files()[0]
         filenodes = []
         for cp in ctx.parents():
             if not cp:
@@ -2130,7 +2129,7 @@
 
     message = cmdutil.logmessage(opts)
 
-    files, match, anypats = cmdutil.matchpats(repo, pats, opts)
+    files = cmdutil.match(repo, pats, opts).files()
     if opts['files']:
         files += open(opts['files']).read().splitlines()
 
@@ -2182,12 +2181,11 @@
     if not pats and not after:
         raise util.Abort(_('no files specified'))
 
-    files, matchfn, anypats = cmdutil.matchpats(repo, pats, opts)
-    mardu = map(dict.fromkeys, repo.status(files=files, match=matchfn))[:5]
+    m = cmdutil.match(repo, pats, opts)
+    mardu = map(dict.fromkeys, repo.status(files=m.files(), match=m))[:5]
     modified, added, removed, deleted, unknown = mardu
 
     remove, forget = [], []
-    m = cmdutil.match(repo, pats, opts)
     for src, abs, rel, exact in cmdutil.walk(repo, m):
 
         reason = None
@@ -2634,11 +2632,10 @@
     all = opts['all']
     node1, node2 = cmdutil.revpair(repo, opts.get('rev'))
 
-    files, matchfn, anypats = cmdutil.matchpats(repo, pats, opts)
+    matcher = cmdutil.match(repo, pats, opts)
     cwd = (pats and repo.getcwd()) or ''
     modified, added, removed, deleted, unknown, ignored, clean = [
-        n for n in repo.status(node1=node1, node2=node2, files=files,
-                               match=matchfn,
+        n for n in repo.status(node1, node2, matcher.files(), matcher,
                                list_ignored=opts['ignored']
                                             or all and not ui.quiet,
                                list_clean=opts['clean'] or all,