Why is the name of a blob SHA1("$type $size\0$data") and not SHA1("$data")?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


First of all, congratulations on makeing such a great version control system. I love the storage model - in comparison with other systems, it is just birantly simple and ingenious.


I started digging into the details and there is one thing that is really bugging me - why is the name of a blob SHA1("$type $size\0$data") and not SHA1("$data")? I mean, wouldn't it be beautiful if the name of the blob would really just be the SHA1 of the uncompressed file content? :-)


Furthermore, is the header really necessary? Wouldn't it be eqvivalently effective to put the blobs into own subdirectory? For example: .git\objects\blob\22\22a3d28c5b2fca0eae83be1a2ed619e357f6a1e6 So the blob would contatin just be the compressed content and nothing else - beautiful :-)


I would really appriciate some comments on the design decisions so that I can sleep well at night :-)


David
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]