##// END OF EJS Templates
cmdutils: Take over glob expansion duties from util
Matt Mackall -
r8614:573734e7 default
parent child Browse files
Show More
@@ -7,7 +7,7 b''
7
7
8 from node import hex, nullid, nullrev, short
8 from node import hex, nullid, nullrev, short
9 from i18n import _
9 from i18n import _
10 import os, sys, bisect, stat, errno, re
10 import os, sys, bisect, stat, errno, re, glob
11 import mdiff, bdiff, util, templater, patch, error, encoding
11 import mdiff, bdiff, util, templater, patch, error, encoding
12 import match as _match
12 import match as _match
13
13
@@ -235,9 +235,23 b' def make_file(repo, pat, node=None,'
235 pathname),
235 pathname),
236 mode)
236 mode)
237
237
238 def expandpats(pats):
239 if not util.expandglobs:
240 return list(pats)
241 ret = []
242 for p in pats:
243 kind, name = _match._patsplit(p, None)
244 if kind is None:
245 globbed = glob.glob(name)
246 if globbed:
247 ret.extend(globbed)
248 continue
249 ret.append(p)
250 return ret
251
238 def match(repo, pats=[], opts={}, globbed=False, default='relpath'):
252 def match(repo, pats=[], opts={}, globbed=False, default='relpath'):
239 if not globbed and default == 'relpath':
253 if not globbed and default == 'relpath':
240 pats = util.expand_glob(pats or [])
254 pats = expandpats(pats or [])
241 m = _match.match(repo.root, repo.getcwd(), pats,
255 m = _match.match(repo.root, repo.getcwd(), pats,
242 opts.get('include'), opts.get('exclude'), default)
256 opts.get('include'), opts.get('exclude'), default)
243 def badfn(f, msg):
257 def badfn(f, msg):
@@ -487,7 +501,7 b' def copy(ui, repo, pats, opts, rename=Fa'
487 return res
501 return res
488
502
489
503
490 pats = util.expand_glob(pats)
504 pats = expandpats(pats)
491 if not pats:
505 if not pats:
492 raise util.Abort(_('no source or destination specified'))
506 raise util.Abort(_('no source or destination specified'))
493 if len(pats) == 1:
507 if len(pats) == 1:
@@ -13,6 +13,7 b' posixfile = file'
13 nulldev = '/dev/null'
13 nulldev = '/dev/null'
14 normpath = os.path.normpath
14 normpath = os.path.normpath
15 samestat = os.path.samestat
15 samestat = os.path.samestat
16 expandglobs = False
16
17
17 umask = os.umask(0)
18 umask = os.umask(0)
18 os.umask(umask)
19 os.umask(umask)
@@ -16,7 +16,7 b' hide platform-specific details from the '
16 from i18n import _
16 from i18n import _
17 import error, osutil
17 import error, osutil
18 import cStringIO, errno, re, shutil, sys, tempfile, traceback
18 import cStringIO, errno, re, shutil, sys, tempfile, traceback
19 import os, stat, time, calendar, glob, random
19 import os, stat, time, calendar, random
20 import imp
20 import imp
21
21
22 # Python compatibility
22 # Python compatibility
@@ -540,19 +540,6 b' def lookup_reg(key, name=None, scope=Non'
540
540
541 if os.name == 'nt':
541 if os.name == 'nt':
542 from windows import *
542 from windows import *
543 def expand_glob(pats):
544 '''On Windows, expand the implicit globs in a list of patterns'''
545 ret = []
546 for p in pats:
547 kind, name = _patsplit(p, None)
548 if kind is None:
549 globbed = glob.glob(name)
550 if globbed:
551 ret.extend(globbed)
552 continue
553 # if we couldn't expand the glob, just keep it around
554 ret.append(p)
555 return ret
556 else:
543 else:
557 from posix import *
544 from posix import *
558
545
@@ -280,3 +280,5 b' try:'
280 from win32 import *
280 from win32 import *
281 except ImportError:
281 except ImportError:
282 pass
282 pass
283
284 expandglobs = True
General Comments 0
You need to be logged in to leave comments. Login now