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 "cache.h"
|
||||||
#include "tree-walk.h"
|
#include "tree-walk.h"
|
||||||
#include "unpack-trees.h"
|
|
||||||
#include "dir.h"
|
#include "dir.h"
|
||||||
#include "object-store.h"
|
#include "object-store.h"
|
||||||
#include "tree.h"
|
#include "tree.h"
|
||||||
|
@ -410,7 +409,7 @@ int traverse_trees(struct index_state *istate,
|
||||||
struct traverse_info *info)
|
struct traverse_info *info)
|
||||||
{
|
{
|
||||||
int error = 0;
|
int error = 0;
|
||||||
struct name_entry entry[MAX_UNPACK_TREES];
|
struct name_entry entry[MAX_TRAVERSE_TREES];
|
||||||
int i;
|
int i;
|
||||||
struct tree_desc_x tx[ARRAY_SIZE(entry)];
|
struct tree_desc_x tx[ARRAY_SIZE(entry)];
|
||||||
struct strbuf base = STRBUF_INIT;
|
struct strbuf base = STRBUF_INIT;
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
|
|
||||||
|
#define MAX_TRAVERSE_TREES 8
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The tree walking API is used to traverse and inspect trees.
|
* The tree walking API is used to traverse and inspect trees.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "string-list.h"
|
#include "string-list.h"
|
||||||
#include "tree-walk.h"
|
#include "tree-walk.h"
|
||||||
|
|
||||||
#define MAX_UNPACK_TREES 8
|
#define MAX_UNPACK_TREES MAX_TRAVERSE_TREES
|
||||||
|
|
||||||
struct cache_entry;
|
struct cache_entry;
|
||||||
struct unpack_trees_options;
|
struct unpack_trees_options;
|
||||||
|
|
Loading…
Reference in New Issue