summaryrefslogtreecommitdiffabout
path: root/git.h
authorLars Hjemli <hjemli@gmail.com>2007-02-04 21:55:19 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-02-04 21:55:19 (UTC)
commit8fb2f056961e577a039ae185d89ab8e2d2840b9e (patch) (side-by-side diff)
treea009aca3c52dd134faa48181daede79bd930f9a4 /git.h
parentce1c7336e5b3e3ebe8f8c9029c405aedec98c208 (diff)
downloadcgit-8fb2f056961e577a039ae185d89ab8e2d2840b9e.zip
cgit-8fb2f056961e577a039ae185d89ab8e2d2840b9e.tar.gz
cgit-8fb2f056961e577a039ae185d89ab8e2d2840b9e.tar.bz2
Add support for lightweight tags
There is nothing bad about a tag that has no tag-object, but the old code didn't handle such tags correctly. Fix it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'git.h') (more/less context) (ignore whitespace changes)
-rw-r--r--git.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/git.h b/git.h
index 991eaa5..eca48d5 100644
--- a/git.h
+++ b/git.h
@@ -257,48 +257,52 @@ struct object_refs {
struct object_array {
unsigned int nr;
unsigned int alloc;
struct object_array_entry {
struct object *item;
const char *name;
} *objects;
};
#define TYPE_BITS 3
#define FLAG_BITS 27
/*
* The object type is stored in 3 bits.
*/
struct object {
unsigned parsed : 1;
unsigned used : 1;
unsigned type : TYPE_BITS;
unsigned flags : FLAG_BITS;
unsigned char sha1[20];
};
+/** Returns the object, having parsed it to find out what it is. **/
+struct object *parse_object(const unsigned char *sha1);
+
+
/*
* from git:tree.h
*/
struct tree {
struct object object;
void *buffer;
unsigned long size;
};
struct tree *lookup_tree(const unsigned char *sha1);
int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size);
int parse_tree(struct tree *tree);
struct tree *parse_tree_indirect(const unsigned char *sha1);
typedef int (*read_tree_fn_t)(const unsigned char *, const char *, int, const char *, unsigned int, int);
extern int read_tree_recursive(struct tree *tree,
const char *base, int baselen,
int stage, const char **match,
read_tree_fn_t fn);
extern int read_tree(struct tree *tree, int stage, const char **paths);