2010/9/8 Elijah Newren <newren@xxxxxxxxx>: > 2010/9/7 Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx>: >> 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html