diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-18 12:12:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-18 12:12:00 -0700 |
commit | b51ad4314078298194d23d46e2b4473ffd32a88a (patch) | |
tree | 3dfffcf747e4fbdb04f1b43251be932f69f55476 /object.h | |
parent | a4b7dbef4ef53f4fffbda0a6f5eada4c377e3fc5 (diff) | |
parent | b5039db6d25ae25f1cb2db541ed13602784fafc3 (diff) | |
download | git-b51ad4314078298194d23d46e2b4473ffd32a88a.tar.gz |
Merge the new object model thing from Daniel Barkalow
This was a real git merge with conflicts. I'll commit the scripts I used
to do the merge next.
Not pretty, but it's half-way functional.
Diffstat (limited to 'object.h')
-rw-r--r-- | object.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/object.h b/object.h new file mode 100644 index 0000000000..bc607fd55f --- /dev/null +++ b/object.h @@ -0,0 +1,29 @@ +#ifndef OBJECT_H +#define OBJECT_H + +struct object_list { + struct object *item; + struct object_list *next; +}; + +struct object { + unsigned parsed : 1; + unsigned used : 1; + unsigned int flags; + unsigned char sha1[20]; + const char *type; + struct object_list *refs; +}; + +int nr_objs; +struct object **objs; + +struct object *lookup_object(unsigned char *sha1); + +void created_object(unsigned char *sha1, struct object *obj); + +void add_ref(struct object *refer, struct object *target); + +void mark_reachable(struct object *obj, unsigned int mask); + +#endif /* OBJECT_H */ |