tree-walk.c: break circular dependency with unpack-trees
The unpack-trees API depends on the tree-walk API. But we've recently
introduced a dependency in tree-walk.c on MAX_UNPACK_TREES, which
doesn't otherwise care about unpack-trees at all.
Let's break that dependency by reversing the constants: we'll introduce
a new MAX_TRAVERSE_TREES which belongs to the tree-walk API. And then we
can define MAX_UNPACK_TREES in terms of that (since unpack-trees cannot
possibly work with more trees than it can traverse at once via
tree-walk).
The value for both will remain at 8. This is somewhat arbitrary and
probably more than is necessary, per ca885a4fe6 (read-tree() and
unpack_trees(): use consistent limit, 2008-03-13), but there's not
really any pressing need to reduce it.
Suggested-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
				maint
			
			
		
							parent
							
								
									8dd40c0472
								
							
						
					
					
						commit
						5290d45134
					
				|  | @ -1,6 +1,5 @@ | |||
| #include "cache.h" | ||||
| #include "tree-walk.h" | ||||
| #include "unpack-trees.h" | ||||
| #include "dir.h" | ||||
| #include "object-store.h" | ||||
| #include "tree.h" | ||||
|  | @ -410,7 +409,7 @@ int traverse_trees(struct index_state *istate, | |||
| 		   struct traverse_info *info) | ||||
| { | ||||
| 	int error = 0; | ||||
| 	struct name_entry entry[MAX_UNPACK_TREES]; | ||||
| 	struct name_entry entry[MAX_TRAVERSE_TREES]; | ||||
| 	int i; | ||||
| 	struct tree_desc_x tx[ARRAY_SIZE(entry)]; | ||||
| 	struct strbuf base = STRBUF_INIT; | ||||
|  |  | |||
|  | @ -3,6 +3,8 @@ | |||
|  | ||||
| #include "cache.h" | ||||
|  | ||||
| #define MAX_TRAVERSE_TREES 8 | ||||
|  | ||||
| /** | ||||
|  * The tree walking API is used to traverse and inspect trees. | ||||
|  */ | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
| #include "string-list.h" | ||||
| #include "tree-walk.h" | ||||
|  | ||||
| #define MAX_UNPACK_TREES 8 | ||||
| #define MAX_UNPACK_TREES MAX_TRAVERSE_TREES | ||||
|  | ||||
| struct cache_entry; | ||||
| struct unpack_trees_options; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Jeff King
						Jeff King