{"issue":{"milestone":null,"title":"support large packfiles with index v2","created_at":"2011-12-23T08:23:30Z","user":{"login":"peff","id":45925,"url":"https://api.github.com/users/peff","avatar_url":"https://secure.gravatar.com/avatar/63027897db609fdbe6ac820fa12736b9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"63027897db609fdbe6ac820fa12736b9"},"labels":[],"updated_at":"2011-12-29T23:25:41Z","state":"open","id":2645443,"closed_at":null,"html_url":"https://github.com/mojombo/grit/issues/103","pull_request":{"patch_url":"https://github.com/mojombo/grit/pull/103.patch","html_url":"https://github.com/mojombo/grit/pull/103","diff_url":"https://github.com/mojombo/grit/pull/103.diff"},"body":"Grit has known about the \"v2\" pack index format for a while.\r\nHowever, it never actually handled the extended offsets that\r\nwe get when indexing packfiles that are larger than 2\r\ngigabytes.\r\n\r\nWhen an object is at an offset smaller than 2G, its byte\r\noffset into the packfile is placed in the first table of\r\n4-byte offset values. If it's past that, then the MSB is set\r\non its offset in the 4-byte table, and the rest of the\r\n4-byte integer specifies an offset into an 8-byte table that\r\nfollows.\r\n\r\nWith this patch, grit should handle arbitrarily large packs\r\n(limited only by the pack format itself).\r\n\r\nA few notes on the patch itself:\r\n\r\n  - I unpack using two \"N\" formats instead of \"Q>\", because\r\n    \"Q>\" is not available in ruby < 1.9.3\r\n\r\n  - No automated test is included, because you need a\r\n    packfile that is greater than 2G. I did test it by hand.","number":103,"url":"https://api.github.com/repos/mojombo/grit/issues/103","comments":2,"assignee":null},"comment":{"created_at":"2011-12-29T23:25:41Z","user":{"login":"rtomayko","id":404,"url":"https://api.github.com/users/rtomayko","avatar_url":"https://secure.gravatar.com/avatar/abfc88b96ae18c85ba7aac3bded2ec5e?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"abfc88b96ae18c85ba7aac3bded2ec5e"},"updated_at":"2011-12-29T23:25:41Z","id":3306443,"body":"This looks great in a limited rollout to github.com production. Merging.","url":"https://api.github.com/repos/mojombo/grit/issues/comments/3306443"},"action":"created"}