View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000169 | file | General | public | 2020-06-27 16:25 | 2020-08-09 16:36 |
Reporter | colejohnson66 | Assigned To | christos | ||
Priority | low | Severity | minor | Reproducibility | always |
Status | feedback | Resolution | open | ||
Platform | Linux | OS | Arch | OS Version | Rolling (200627) |
Product Version | 5.39 | ||||
Summary | 0000169: Uncompressed Git Objects Detected as "zlib compressed data" | ||||
Description | Inside `.git/objects`, some files are compressed and others aren't. The uncompressed ones are identifiable by the string "blob " (62 6c 6f 62 20 in big endian) at offset 0x7 followed by (in decimal?) the size of the blob. These uncompressed ones are mistakenly identified as "zlib compressed data" | ||||
Steps To Reproduce | Open a folder containing a .git folder and run: find .git/objects -type f -print0 | xargs -0 -I {} xxd '{}' | grep 'blob' If anything prints, there is an uncompressed blob stored inside Git. Afterwards, run: find .git/objects -type f -print0 | xargs -0 -I {} file '{}' Notice how every file printed (with the exception of the `.pack` and `.idx` files) says "zlib compressed data". | ||||
Tags | magic | ||||
|
A better command to list uncompressed objects is: find .git/objects -type f -print0 | xargs -0 -I {} sh -c "printf '{}: ' && xxd '{}'" | grep "blob " This will list the file name along with the hex dump. I've noticed that (on my repositories) that most are PNG files I've committed. I assume they're stored uncompressed as the pixel data is already compressed (rendering (a second) compression useless) |
|
can you attach a couple of those blob files here? |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-06-27 16:25 | colejohnson66 | New Issue | |
2020-06-27 16:25 | colejohnson66 | Tag Attached: magic | |
2020-06-28 21:15 | colejohnson66 | Note Added: 0003431 | |
2020-07-04 23:32 | christos | Note Added: 0003435 | |
2020-08-09 16:35 | christos | Assigned To | => christos |
2020-08-09 16:35 | christos | Status | new => assigned |
2020-08-09 16:36 | christos | Status | assigned => feedback |