2164 if src == 'b': |
2164 if src == 'b': |
2165 target_only[abs] = True |
2165 target_only[abs] = True |
2166 |
2166 |
2167 # walk target manifest. |
2167 # walk target manifest. |
2168 |
2168 |
|
2169 def badmatch(path): |
|
2170 if path in names: |
|
2171 return True |
|
2172 path_ = path + '/' |
|
2173 for f in names: |
|
2174 if f.startswith(path_): |
|
2175 return True |
|
2176 return False |
|
2177 |
2169 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node, |
2178 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node, |
2170 badmatch=names.has_key): |
2179 badmatch=badmatch): |
2171 if abs in names: continue |
2180 if abs in names or src == 'b': |
|
2181 continue |
2172 names[abs] = (rel, exact) |
2182 names[abs] = (rel, exact) |
2173 target_only[abs] = True |
2183 target_only[abs] = True |
2174 |
2184 |
2175 changes = repo.status(match=names.has_key, wlock=wlock)[:5] |
2185 changes = repo.status(match=names.has_key, wlock=wlock)[:5] |
2176 modified, added, removed, deleted, unknown = map(dict.fromkeys, changes) |
2186 modified, added, removed, deleted, unknown = map(dict.fromkeys, changes) |