diff options
author | Junio C Hamano <junkio@cox.net> | 2005-04-20 18:06:49 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-20 18:06:49 -0700 |
commit | f4913f91a960ebcfbc9c6a09dc909ce638cb5c66 (patch) | |
tree | fcfb33f86882e0cf1d7b0ef7e0d3285cf286ebb6 /cache.h | |
parent | 6ca25ed331c57576a82c83f43040f4071671b1a7 (diff) | |
download | git-f4913f91a960ebcfbc9c6a09dc909ce638cb5c66.tar.gz git-f4913f91a960ebcfbc9c6a09dc909ce638cb5c66.tar.xz |
[PATCH] Accept commit in some places when tree is needed.
This patch implements read_tree_with_tree_or_commit_sha1(),
which can be used when you are interested in reading an unpacked
raw tree data but you do not know nor care if the SHA1 you
obtained your user is a tree ID or a commit ID. Before this
function's introduction, you would have called read_sha1_file(),
examined its type, parsed it to call read_sha1_file() again if
it is a commit, and verified that the resulting object is a
tree. Instead, this function does that for you. It returns
NULL if the given SHA1 is not either a tree or a commit.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'cache.h')
-rw-r--r-- | cache.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -125,4 +125,8 @@ extern int error(const char *err, ...); extern int cache_name_compare(const char *name1, int len1, const char *name2, int len2); +extern void *read_tree_with_tree_or_commit_sha1(const unsigned char *sha1, + unsigned long *size, + unsigned char *tree_sha1_ret); + #endif /* CACHE_H */ |