From 803c0cd0c72c3db01885a3706d67499f9679c87f Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Mon, 8 May 2023 04:25:14 -0700 Subject: [PATCH] parseTreeDiff: print line when parsing fails --- git.zig | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/git.zig b/git.zig index 5934913e7e9028a9a33593297b8ea9090e1bcce3..de69e417a175cc0924d28321bb88230ca9d0f038 100644 --- a/git.zig +++ b/git.zig @@ -428,6 +428,11 @@ pub fn parseTreeDiff(alloc: std.mem.Allocator, input: string) !TreeDiff { blk: while (true) { while (lineiter.next()) |lin| { if (std.mem.startsWith(u8, lin, "index")) break; + if (std.mem.startsWith(u8, lin, "new file mode")) continue; + if (std.mem.startsWith(u8, lin, "deleted file mode")) continue; + + std.log.err("{s}", .{lin}); + unreachable; } const before_path_raw = lineiter.next().?; @@ -440,10 +445,10 @@ pub fn parseTreeDiff(alloc: std.mem.Allocator, input: string) !TreeDiff { _ = lineiter.index orelse break :blk; continue :blk; } - const before_path = extras.trimPrefixEnsure(before_path_raw, "--- a/") orelse extras.trimPrefixEnsure(before_path_raw, "--- ").?; + const before_path = extras.trimPrefixEnsure(before_path_raw, "--- a/") orelse extras.trimPrefixEnsure(before_path_raw, "--- ") orelse @panic(before_path_raw); const after_path_raw = lineiter.next().?; - const after_path = extras.trimPrefixEnsure(after_path_raw, "+++ b/") orelse extras.trimPrefixEnsure(after_path_raw, "+++ ").?; + const after_path = extras.trimPrefixEnsure(after_path_raw, "+++ b/") orelse extras.trimPrefixEnsure(after_path_raw, "+++ ") orelse @panic(after_path_raw); const start_index = lineiter.index.?; -- 2.54.0