git ssb

39+

cel / git-ssb



Question: would it be possible to reconstruct a blob?

%pQMaCxZbY1HYdH3Y/M9oi1sSJxeW1+XQB2tOZJ4fX6o=.sha256
ClosedDominic opened this issue on 4/7/2017, 2:57:44 AM

Question: would it be possible to reconstruct a blob?

I was trying to push to a git-ssb repo that I am pretty sure I had all the objects to already, but not as ssb blobs (it was %ssb-blobs, actually) Is there enough information to reconstruct a pack file instead of downloading it?

(am currently working on making blobs use less bandwidth, so thinking about things like this)

%58cFiWM2E5liobgqb11ms2drsuc64Bntb0LDY5DPs5E=.sha256 cel · 4/7/2017, 5:06:53 AM

this might be possible. to reconstruct a packfile blob, you would need the git objects that went into it, their order (unless you reconstruct that using git's logic), and an assumption that git's packfile delta encoding and deflate compression are deterministic. this could be done with some git-update messages that include all the git object ids. some git-update messages don't include the object ids (as they would make the message too big), but they could be retrieved from the pack index blob, which is usually much smaller than the packfile blob.

it should also be possible to push to a repo without fetching packfile blobs from it if you don't need. there may be room for improvement there

cel mentioned this issue in i added some code to show ids of blobs being fetched, including which ones are being waited for (on a 5-second debounce interval). to use th
cel mentioned this issue in @ev Here is a new subcommand for reconstructing git-ssb blobs: %dahDUJrhdoiEXKyhzxwtGSp1kS/BG/fKWSt9c5nnwrg=.sha256 This should fix %pQMaCxZ
%2IaQB/t9S8wCdt9eZ4EY+2AgSh53rJjfCHFVZ6zz6NM=.sha256 cel closed this issue · 8/23/2019, 3:53:27 AM

Implemented in %dahDUJr...

Built with git-ssb-web