| ... | @@ -112,7 +112,7 @@ pub fn getObject(alloc: std.mem.Allocator, dir: std.fs.Dir, obj: Id) !string { | ... | @@ -112,7 +112,7 @@ pub fn getObject(alloc: std.mem.Allocator, dir: std.fs.Dir, obj: Id) !string { |
| 112 | .max_output_bytes = 1024 * 1024 * 1024, | 112 | .max_output_bytes = 1024 * 1024 * 1024, |
| 113 | }); | 113 | }); |
| 114 | extras.assertLog(result.term == .Exited and result.term.Exited == 0, "{s}", .{result.stderr}); | 114 | extras.assertLog(result.term == .Exited and result.term.Exited == 0, "{s}", .{result.stderr}); |
| 115 | return std.mem.trimRight(u8, result.stdout, "\n"); | 115 | return result.stdout; |
| 116 | } | 116 | } |
| 117 | | 117 | |
| 118 | // TODO make this inspect .git/objects manually | 118 | // TODO make this inspect .git/objects manually |
| ... | @@ -277,6 +277,10 @@ pub fn parseTree(alloc: std.mem.Allocator, treefile: string) !Tree { | ... | @@ -277,6 +277,10 @@ pub fn parseTree(alloc: std.mem.Allocator, treefile: string) !Tree { |
| 277 | errdefer children.deinit(); | 277 | errdefer children.deinit(); |
| 278 | | 278 | |
| 279 | while (iter.next()) |line| { | 279 | while (iter.next()) |line| { |
| | 280 | if (line.len == 0) { |
| | 281 | std.debug.assert(iter.peek() == null); |
| | 282 | break; |
| | 283 | } |
| 280 | var jter = std.mem.split(u8, line, " "); | 284 | var jter = std.mem.split(u8, line, " "); |
| 281 | const mode = jter.next().?; | 285 | const mode = jter.next().?; |
| 282 | const otype = std.meta.stringToEnum(Tree.Object.Id.Tag, jter.next().?).?; | 286 | const otype = std.meta.stringToEnum(Tree.Object.Id.Tag, jter.next().?).?; |