From 1322a7314139206b3b67240b826d02821cc87a7f Mon Sep 17 00:00:00 2001 From: g-w1 Date: Thu, 24 Dec 2020 18:28:13 -0500 Subject: [PATCH] make if the diff too large just default to dirty_diff_too_big as the diff --- build.zig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/build.zig b/build.zig index b6dfbf547f77a176864cd663ace1a2859deb4bd0..11ac83821e896fd9f65768bdbdc3dd33407b777d 100644 --- a/build.zig +++ b/build.zig @@ -237,9 +237,13 @@ pub fn build(b: *Builder) !void { // Detect dirty changes. const diff_untrimmed = b.execAllowFail(&[_][]const u8{ "git", "-C", b.build_root, "diff", "HEAD", - }, &code, .Ignore) catch |err| { - std.debug.print("Error executing git diff: {}", .{err}); - std.process.exit(1); + }, &code, .Ignore) catch |err| switch (err) { + // when there is a big diff, usually after resolving merge conflicts, but before a commit + error.StreamTooLong => "dirty_diff_too_big", + else => { + std.debug.print("Error executing git diff: {}\n", .{err}); + std.process.exit(1); + }, }; const trimmed_diff = mem.trim(u8, diff_untrimmed, " \n\r"); const dirty_suffix = if (trimmed_diff.len == 0) "" else s: { -- 2.54.0