From c38138cd78f284b261a02323e8f18a1dee87c7fa Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 26 Jun 2005 20:27:56 -0700 Subject: git-pack-objects: write the pack files with a SHA1 csum We want to be able to check their integrity later, and putting the sha1-sum of the contents at the end is a good thing. The writing routines are generic, so we could try to re-use them for the index file, instead of having the same logic duplicated. Update unpack-objects to know about the extra 20 bytes at the end of the index. --- csum-file.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 csum-file.h (limited to 'csum-file.h') diff --git a/csum-file.h b/csum-file.h new file mode 100644 index 0000000000..1086f04caa --- /dev/null +++ b/csum-file.h @@ -0,0 +1,17 @@ +#ifndef CSUM_FILE_H +#define CSUM_FILE_H + +/* A SHA1-protected file */ +struct sha1file { + int fd, error; + unsigned long offset; + SHA_CTX ctx; + unsigned char buffer[8192]; +}; + +extern struct sha1file *sha1create(const char *fmt, ...); +extern int sha1close(struct sha1file *); +extern int sha1write(struct sha1file *, void *, unsigned int); +extern int sha1write_compressed(struct sha1file *, void *, unsigned int); + +#endif -- cgit v1.2.1