From 1acee03ea9762c951733cdea8e8f78a658ca98c5 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Tue, 4 Mar 2025 18:49:18 +0100 Subject: [PATCH] feat(version): add timestamp of last commit to version info --- build.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index b135612..1656e8a 100644 --- a/build.zig +++ b/build.zig @@ -595,6 +595,7 @@ fn gen_version_info( var code: u8 = 0; const describe = try b.runAllowFail(&[_][]const u8{ "git", "describe", "--always", "--tags" }, &code, .Ignore); + const date_ = try b.runAllowFail(&[_][]const u8{ "git", "show", "-s", "--format=%ci", "HEAD" }, &code, .Ignore); const branch_ = try b.runAllowFail(&[_][]const u8{ "git", "rev-parse", "--abbrev-ref", "HEAD" }, &code, .Ignore); const branch = std.mem.trimRight(u8, branch_, "\r\n "); const tracking_branch_ = blk: { @@ -615,6 +616,7 @@ fn gen_version_info( const log_ = b.runAllowFail(&[_][]const u8{ "git", "log", "--pretty=oneline", "@{u}..." }, &code, .Ignore) catch ""; const diff_ = b.runAllowFail(&[_][]const u8{ "git", "diff", "--stat", "--patch", "HEAD" }, &code, .Ignore) catch "(git diff failed)"; const version = std.mem.trimRight(u8, describe, "\r\n "); + const date = std.mem.trimRight(u8, date_, "\r\n "); const tracking_branch = std.mem.trimRight(u8, tracking_branch_, "\r\n "); const tracking_remote = std.mem.trimRight(u8, tracking_remote_, "\r\n "); const remote = std.mem.trimRight(u8, remote_, "\r\n "); @@ -622,9 +624,10 @@ fn gen_version_info( const diff = std.mem.trimRight(u8, diff_, "\r\n "); const target_triple = try target.result.zigTriple(b.allocator); - try writer.print("Flow Control: a programmer's text editor\n\nversion: {s}{s}\ntarget: {s}\n", .{ + try writer.print("Flow Control: a programmer's text editor\n\nversion: {s}{s}\ncommitted: {s}\ntarget: {s}\n", .{ version, if (diff.len > 0) "-dirty" else "", + date, target_triple, });