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 = |
|
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 = |
|
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, |
|
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 |
General Comments 0
You need to be logged in to leave comments.
Login now