Re: [PATCH 0/5] en/object-list-with-pathspec (v3?)
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Sep 8, 2010, 09:58 UTC
- Message-ID
- <AANLkTi=xHCXZKjuGrjYmFS_yH4RaSPtgA1QFzVrGgVuZ@mail.gmail.com>
- In-Reply-To
- <AANLkTimFRUfK2+yNGkgJX8K-0N5QYOp4ud2O7afH_iNz@mail.gmail.com>
2010/9/8 Elijah Newren <newren@gmail.com>:
Show 18 quoted lines
> 2010/9/7 Nguyễn Thái Ngọc Duy <pclouds@gmail.com>: >> Changes from last time is tree_entry_interesting() now takes >> struct exclude * as the pathspecs. >> >> I think there'll be a bit of performance loss because diff_options.el >> is not initialized from the beginning. But that requires more changes >> outside tree-diff.c (makes sure that diff_options.el is copied properly, >> makes sure that diff_tree_setup_* is called ...) So one step at a time. >> I'm working on it. > > Looks reasonable to me so far. I believe your series already makes > nr_paths, paths, and pathlens fields from diff_options unused (other > than via exclude_list) -- yes? If so, that suggests that we could > just modify diff_tree_setup_paths() to do the work that your new > diff_tree_setup_exclude_lists() is doing (and to take an exclude_list* > instead of a diff_options*). Then you wouldn't need to worry about > doing the setup "on-the-fly" and the performance differences should go > away.
They are used elsewhere, passed around as prune data, even fed to read_cache_preload().. so they won't go away soon.
> Am I understanding correctly, and is that the route you're going?
Yes. Except that both nr_paths, paths and pathlens will stay along with exclude_list. Getting rid of "paths" takes time (the other two fields are easier to deal with).
-- Duy