aboutsummaryrefslogtreecommitdiff
path: root/unpack-objects.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-26 22:01:46 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-26 22:01:46 -0700
commite18088451d92fbf83bfb57fd48201eda117f8103 (patch)
tree718ae283382872ae99ce7b49406679b0d3f498ab /unpack-objects.c
parentc38138cd78f284b261a02323e8f18a1dee87c7fa (diff)
downloadgit-e18088451d92fbf83bfb57fd48201eda117f8103.tar.gz
git-e18088451d92fbf83bfb57fd48201eda117f8103.tar.xz
csum-file interface updates: return resulting SHA1
Also, make the writing of the SHA1 as a end-header be conditional: not every user will necessarily want to write the SHA1 to the file itself, even though current users do (but we migh end up using the same helper functions for the object files themselves, that don't do this). This also makes the packed index file contain the SHA1 of the packed data file at the end (just before its own SHA1). That way you can validate the pairing of the two if you want to.
Diffstat (limited to 'unpack-objects.c')
-rw-r--r--unpack-objects.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/unpack-objects.c b/unpack-objects.c
index 91a71c55c..a792b92ec 100644
--- a/unpack-objects.c
+++ b/unpack-objects.c
@@ -74,9 +74,10 @@ static int check_index(void)
* Total size:
* - 256 index entries 4 bytes each
* - 24-byte entries * nr (20-byte sha1 + 4-byte offset)
+ * - 20-byte SHA1 of the packfile
* - 20-byte SHA1 file checksum
*/
- if (index_size != 4*256 + nr * 24 + 20)
+ if (index_size != 4*256 + nr * 24 + 20 + 20)
return error("wrong index file size");
nr_entries = nr;