From: Nguyen Thai Ngoc Duy Date: Wed, 08 Sep 2010 09:58:00 GMT Subject: Re: [PATCH 0/5] en/object-list-with-pathspec (v3?) Message-ID: In-Reply-To: 2010/9/8 Elijah Newren : > 2010/9/7 Nguyễn Thái Ngọc Duy : >> 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