diff --git a/src/cmd/version.zig b/src/cmd/version.zig index c96ee98fd6f7629da5a49c646cb301f56148ff25..8d73d42c9d1b3d7de537e21d965567f056dcffa4 100644 --- a/src/cmd/version.zig +++ b/src/cmd/version.zig @@ -1,4 +1,5 @@ const std = @import("std"); +const string = []const u8; const gpa = std.heap.c_allocator; const builtin = @import("builtin"); @@ -14,19 +15,17 @@ pub fn execute(args: [][]u8) !void { const build_options = if (@hasDecl(root, "build_options")) root.build_options else struct {}; const version = if (@hasDecl(build_options, "version")) build_options.version else "unknown"; + var gitversion = u.git_rev_HEAD(gpa, std.fs.cwd()) catch ""; + gitversion = if (gitversion.len > 0) gitversion[0..7] else gitversion; + const stdout = std.io.getStdOut(); const w = stdout.writer(); try w.writeAll("zigmod"); try w.print(" {s}", .{version}); - if (std.mem.eql(u8, version, "dev")) { - try w.print( - "-{s}", - .{ - (try u.git_rev_HEAD(gpa, std.fs.cwd()))[0..7], - }, - ); + if (std.mem.eql(u8, version, "dev") and gitversion.len > 0) { + try w.print("-{s}", .{gitversion}); } try w.print(" {s}", .{@tagName(builtin.os.tag)});