equal
deleted
inserted
replaced
275 def _walkonetree(self, tree, match, subdir): |
275 def _walkonetree(self, tree, match, subdir): |
276 for te in tree: |
276 for te in tree: |
277 # TODO: can we prune dir walks with the matcher? |
277 # TODO: can we prune dir walks with the matcher? |
278 realname = subdir + pycompat.fsencode(te.name) |
278 realname = subdir + pycompat.fsencode(te.name) |
279 if te.type == pygit2.GIT_OBJ_TREE: |
279 if te.type == pygit2.GIT_OBJ_TREE: |
280 for inner in self._walkonetree( |
280 yield from self._walkonetree( |
281 self._git_repo[te.id], match, realname + b'/' |
281 self._git_repo[te.id], match, realname + b'/' |
282 ): |
282 ) |
283 yield inner |
|
284 elif match(realname): |
283 elif match(realname): |
285 yield pycompat.fsencode(realname) |
284 yield pycompat.fsencode(realname) |
286 |
285 |
287 def walk(self, match: matchmod.basematcher) -> Iterator[bytes]: |
286 def walk(self, match: matchmod.basematcher) -> Iterator[bytes]: |
288 # TODO: this is a very lazy way to merge in the pending |
287 # TODO: this is a very lazy way to merge in the pending |