aboutsummaryrefslogtreecommitdiff
path: root/cache.h
diff options
context:
space:
mode:
authorBryan Larsen <bryan.larsen@gmail.com>2005-07-08 16:51:55 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-08 17:07:37 -0700
commit7672db20c2060f20b01788e4a4289ebc5f818605 (patch)
tree0b5c5ed90d81628aa03df60ee5116d707f4a0803 /cache.h
parent7558ef89edce07555c6436cfcb98c31388dd99b0 (diff)
downloadgit-7672db20c2060f20b01788e4a4289ebc5f818605.tar.gz
git-7672db20c2060f20b01788e4a4289ebc5f818605.tar.xz
[PATCH] Expose object ID computation functions.
This patch makes the first half of write_sha1_file() and index_fd() externally visible, to allow callers to compute the object ID without actually storing it in the object database. [JC demangled the whitespaces himself because he liked the patch so much, and reworked the interface to index_fd() slightly, taking suggestion from Linus and of his own.] Signed-off-by: Bryan Larsen <bryan.larsen@gmail.com> 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.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/cache.h b/cache.h
index ff0321341..84d43d366 100644
--- a/cache.h
+++ b/cache.h
@@ -138,7 +138,7 @@ extern int remove_cache_entry_at(int pos);
extern int remove_file_from_cache(char *path);
extern int ce_same_name(struct cache_entry *a, struct cache_entry *b);
extern int ce_match_stat(struct cache_entry *ce, struct stat *st);
-extern int index_fd(unsigned char *sha1, int fd, struct stat *st);
+extern int index_fd(unsigned char *sha1, int fd, struct stat *st, int write_object, const char *type);
extern void fill_stat_cache_info(struct cache_entry *ce, struct stat *st);
struct cache_file {
@@ -172,6 +172,12 @@ extern int sha1_object_info(const unsigned char *, char *, unsigned long *);
extern void * unpack_sha1_file(void *map, unsigned long mapsize, char *type, unsigned long *size);
extern void * read_sha1_file(const unsigned char *sha1, char *type, unsigned long *size);
extern int write_sha1_file(void *buf, unsigned long len, const char *type, unsigned char *return_sha1);
+extern char *write_sha1_file_prepare(void *buf,
+ unsigned long len,
+ const char *type,
+ unsigned char *sha1,
+ unsigned char *hdr,
+ int *hdrlen);
extern int check_sha1_signature(const unsigned char *sha1, void *buf, unsigned long size, const char *type);