authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-14 15:35:41 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-14 15:35:41 -07:00
log8fe1a6e7a9a133e5df805bb4aa8c210456b8573b
treedb8e87caaa2f27a2eabc7038afbb69f5f543c3ce
parentd36ce19ba6141444cab7be4f73686b947696bade
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

remove this bit from getObjectContent, trees on disk are different than cat-file output


1 files changed, 0 insertions(+), 22 deletions(-)

git.zig-22
...@@ -110,28 +110,6 @@ pub fn getObjectContent(alloc: std.mem.Allocator, dir: nfs.Dir, obj: Id) !string...@@ -110,28 +110,6 @@ pub fn getObjectContent(alloc: std.mem.Allocator, dir: nfs.Dir, obj: Id) !string
110 const t = tracer.trace(@src(), " {s}", .{obj});110 const t = tracer.trace(@src(), " {s}", .{obj});
111 defer t.end();111 defer t.end();
112112
113 if (obj.len == 40) blk: { //sha1 object
114 var sub_path: [49:0]u8 = "objects/00/00000000000000000000000000000000000000".*;
115 @memcpy(sub_path[8..][0..2], obj[0..2]);
116 @memcpy(sub_path[11..], obj[2..]);
117 const objfile = dir.openFile(&sub_path, .{}) catch |err| switch (err) {
118 error.ENOENT => break :blk,
119 else => |e| return e,
120 };
121 defer objfile.close();
122 var bufr = nio.BufferedReader(4096, nfs.File).init(objfile);
123 var list = std.ArrayList(u8).init(alloc);
124 defer list.deinit();
125 try list.ensureUnusedCapacity(512);
126 try std.compress.flate.inflate.decompress(.zlib, bufr.anyReadable(), list.writer());
127 const header = list.items[0..std.mem.indexOfScalar(u8, list.items, 0).?];
128 const _type = header[0..std.mem.indexOfScalar(u8, header, ' ').?];
129 const content_len = try extras.parseDigits(u64, header[_type.len + 1 ..], 10);
130 std.debug.assert(list.items[header.len + 1 ..].len == content_len);
131 list.replaceRangeAssumeCapacity(0, header.len + 1, "");
132 return list.toOwnedSlice();
133 }
134
135 const result = try std.process.Child.run(.{113 const result = try std.process.Child.run(.{
136 .allocator = alloc,114 .allocator = alloc,
137 .cwd_dir = dir.to_std(),115 .cwd_dir = dir.to_std(),