以下命令不会产生相同的输出:
cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc
git show --raw 96d0745960850e8ac97406311f3288b6d035cefc
我已经尝试了git show
和git cat-file
的各种选项,但我似乎无法匹配。我觉得这应该以某种方式得到支持。
具体来说,我想要the documented format。也就是说,我希望看到,标题,空字节等。
如果我跑:
cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc | zlib-deflate | hexdump
我看到该行以:
开头0000000 62 6c 6f 62
对应于" b" " L" " O" " B"正如我所料。
如果您有点好奇,我的zlib-deflate
脚本的内容是:
#!/usr/bin/env python
# Deflates a stream of bytes compressed via zlib that are passed to stdin.
import io
import sys
import zlib
# https://stackoverflow.com/q/6065173/396304
reader = io.open(sys.stdin.fileno(), mode='rb', closefd=False)
data = reader.read()
print zlib.decompress(data)