Re: [PATCH v3 2/4] path: optimize common dir checking
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Aug 16, 2015, 12:20 UTC
- Message-ID
- <CACsJy8B5X=JH5p6C=Ho-spLJEcOtQd8e95ED63FLp=gxrk2srQ@mail.gmail.com>
- In-Reply-To
- <loom.20150816T070037-969@post.gmane.org>
On Sun, Aug 16, 2015 at 12:04 PM, David Turner <dturner@twopensource.com> wrote:
Show 16 quoted lines
> Duy Nguyen <pclouds@gmail.com> writes: >> On Thu, Aug 13, 2015 at 4:57 AM, David Turner <dturner@twopensource.com> > wrote: >> > Instead of a linear search over common_list to check whether >> > a path is common, use a trie. The trie search operates on >> > path prefixes, and handles excludes. >> >> Just be careful that the given key from git_path is not normalized. I >> think you assume it is in the code, but I haven't read carefully. We >> could of course optimize for the good case: assume normalized and >> search, then fall back to explicit normalizing and search again. > > What does it mean for a key to be normalized? Do you mean normalized in > terms of upper/lowercase on case-insensitive filesystems? If so, I think the > assumption here is that this will be called with paths generated by git, > which will always use the lowercase path.
Mostly about duplicated slashes, "abc//def" instead of "abc/def". Technically nothing forbids git_path("refs/../refs/foo"), but that would fool even current code.
-- Duy