equal
deleted
inserted
replaced
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) |