path: root/cache.h
diff options
authorJunio C Hamano <>2005-08-15 00:25:57 (GMT)
committerJunio C Hamano <>2005-08-15 10:00:20 (GMT)
commitd5a63b99835017d2638e55a7e34a35a3c1e80f1f (patch)
tree9ba91a81866aa205908ff9d8f1292295d10dd0fc /cache.h
parent3f971fc425bca3d9e97b04e9db39e4d5e43921bc (diff)
Alternate object pool mechanism updates.
It was a mistake to use GIT_ALTERNATE_OBJECT_DIRECTORIES environment variable to specify what alternate object pools to look for missing objects when working with an object database. It is not a property of the process running the git commands, but a property of the object database that is partial and needs other object pools to complete the set of objects it lacks. This patch allows you to have $GIT_OBJECT_DIRECTORY/info/alternates whose contents is in exactly the same format as the environment variable, to let an object database name alternate object pools it depends on. Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'cache.h')
1 files changed, 3 insertions, 2 deletions
diff --git a/cache.h b/cache.h
index efd2a2c..dbde95a 100644
--- a/cache.h
+++ b/cache.h
@@ -278,9 +278,10 @@ struct checkout {
extern int checkout_entry(struct cache_entry *ce, struct checkout *state);
extern struct alternate_object_database {
- char *base;
+ struct alternate_object_database *next;
char *name;
-} *alt_odb;
+ char base[0]; /* more */
+} *alt_odb_list;
extern void prepare_alt_odb(void);
extern struct packed_git {