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.
This commit is contained in:
Linus Torvalds
2005-06-26 20:27:56 -07:00
parent 9b66ec0474
commit c38138cd78
5 changed files with 158 additions and 62 deletions

17
csum-file.h Normal file
View File

@@ -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