| 4785 | } |
| 4786 | |
| 4787 | static int get_object_list_path_walk(struct rev_info *revs) |
| 4788 | { |
| 4789 | struct path_walk_info info = PATH_WALK_INFO_INIT; |
| 4790 | unsigned int processed = 0; |
| 4791 | int result; |
| 4792 | |
| 4793 | info.revs = revs; |
| 4794 | info.path_fn = add_objects_by_path; |
| 4795 | info.path_fn_data = &processed; |
| 4796 | |
| 4797 | /* |
| 4798 | * Allow the --[no-]sparse option to be interesting here, if only |
| 4799 | * for testing purposes. Paths with no interesting objects will not |
| 4800 | * contribute to the resulting pack, but only create noisy preferred |
| 4801 | * base objects. |
| 4802 | */ |
| 4803 | info.prune_all_uninteresting = sparse; |
| 4804 | info.edge_aggressive = shallow; |
| 4805 | |
| 4806 | trace2_region_enter("pack-objects", "path-walk", revs->repo); |
| 4807 | result = walk_objects_by_path(&info); |
| 4808 | trace2_region_leave("pack-objects", "path-walk", revs->repo); |
| 4809 | |
| 4810 | path_walk_info_clear(&info); |
| 4811 | |
| 4812 | return result; |
| 4813 | } |
| 4814 | |
| 4815 | static void get_object_list(struct rev_info *revs, struct strvec *argv) |
| 4816 | { |
no test coverage detected