From: Elijah Newren Date: Wed, 08 Sep 2010 07:47:21 GMT Subject: Re: [PATCH 0/5] en/object-list-with-pathspec (v3?) Message-ID: In-Reply-To: <1283874483-32017-1-git-send-email-pclouds@gmail.com> 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. Am I understanding correctly, and is that the route you're going?