Re: Manually decoding a git object

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

 



From: "??" <xudifsd@xxxxxxxxx> Sent: Monday, February 20, 2012 4:45 AM
2012/2/20 Philip Oakley <philipoakley@xxxxxxx>:
If I have a renamed file which is a git object, such a "Git_Object", was
8c-something-or-other, what is the easiest way of examining / decoding /
recreating the original file (either as its sha1, or a cat-file).

I don't think I fully understood what you mean, I assume you just move
an object file from $GIT_DIR/objects/ to somewhere and rename it,
let's call it "obj", so if you want to exam its content you can just
simply call "git cat-file -p obj". And you can also use "git cat-file
-t obj" to exam its object type. If it's a blob you can use "git
cat-file -p obj > original" to recreate it, else it's meaningless to
recreate it.

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

Because its sha1 isn't yet known I can't put it into the correct .git/objects/xx/ subdirectory of an fresh 'git init', and I have located an unzip programme that will take the plain git object and decode it - they all expect archives.

I've described the background use-case at http://stackoverflow.com/questions/9341278/how-to-track-the-git-directory-in-git-in-its-own-store - the edit links to a typical corporate scenario.

Even just locating a zlib implementation that simply confirms the file stream is compressesd and deflates it would be a start.
Philip

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