mercurial/cmdutil.py
changeset 25439 aaede04c0ba6
parent 25438 7ce5a3230441
child 25511 c2a4dfe2a336
equal deleted inserted replaced
25438:7ce5a3230441 25439:aaede04c0ba6
  2836 
  2836 
  2837         # we'll need this later
  2837         # we'll need this later
  2838         targetsubs = sorted(s for s in wctx.substate if m(s))
  2838         targetsubs = sorted(s for s in wctx.substate if m(s))
  2839 
  2839 
  2840         if not m.always():
  2840         if not m.always():
  2841             m.bad = lambda x, y: False
  2841             for abs in repo.walk(matchmod.badmatch(m, lambda x, y: False)):
  2842             for abs in repo.walk(m):
       
  2843                 names[abs] = m.rel(abs), m.exact(abs)
  2842                 names[abs] = m.rel(abs), m.exact(abs)
  2844 
  2843 
  2845             # walk target manifest to fill `names`
  2844             # walk target manifest to fill `names`
  2846 
  2845 
  2847             def badfn(path, msg):
  2846             def badfn(path, msg):
  2853                 for f in names:
  2852                 for f in names:
  2854                     if f.startswith(path_):
  2853                     if f.startswith(path_):
  2855                         return
  2854                         return
  2856                 ui.warn("%s: %s\n" % (m.rel(path), msg))
  2855                 ui.warn("%s: %s\n" % (m.rel(path), msg))
  2857 
  2856 
  2858             m.bad = badfn
  2857             for abs in ctx.walk(matchmod.badmatch(m, badfn)):
  2859             for abs in ctx.walk(m):
       
  2860                 if abs not in names:
  2858                 if abs not in names:
  2861                     names[abs] = m.rel(abs), m.exact(abs)
  2859                     names[abs] = m.rel(abs), m.exact(abs)
  2862 
  2860 
  2863             # Find status of all file in `names`.
  2861             # Find status of all file in `names`.
  2864             m = scmutil.matchfiles(repo, names)
  2862             m = scmutil.matchfiles(repo, names)