2012/2/20 Thomas Rast <trast@xxxxxxxxxxx>: > Philip Oakley <philipoakley@xxxxxxx> writes: > >> From: "Thomas Rast" <trast@xxxxxxxxxxx> Sent: Monday, February 20, >> 2012 8:29 AM >>> >>> The SHA1 is over the decompressed object contents. The file simply >>> holds a zlib-compressed stream of those contents. (It's pretty much >>> like gzip without the file header.) >>> >>> You can use any bindings to zlib and something that does sha1, e.g. in >>> python: >>> >>> $ cd g/.git/objects/aa/ # my git.git >>> $ ls >>> 592bda986a8380b64acd8cbb3d5bdfcbc0834d >>> 6322a757bee31919f54edcc127608a3d724c99 >>> $ python >>> Python 2.7.2 (default, Aug 19 2011, 20:41:43) [GCC] on linux2 >>> Type "help", "copyright", "credits" or "license" for more information. >>> >>> import hashlib >>> >>> >>> hashlib.sha1(open('592bda986a8380b64acd8cbb3d5bdfcbc0834d').read().decode('zlib')).digest().encode('hex') >>> 'aa592bda986a8380b64acd8cbb3d5bdfcbc0834d' >>> >>> Notice that the first byte of the hash goes into the directory name. >>> I think Thomas got the point. > When I tried it from my home directory (not in a git directory): > $ git cat-file -p Git-Object > fatal: Not a git repository (or any of the parent directories): .git this is because git will first do a git-dir-search, if you're current work dir is not within git repo, it will die. I really do not know how you get thing that mess. From the link[1] you give, i think you just want to clone a repo across computer not by network, if so this[2] will be helpful. [1]:http://stackoverflow.com/questions/9343260/what-after-git-unpack-objects-to-get-the-actual-file [2]:http://progit.org/2010/03/10/bundles.html -- 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