authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-25 15:55:25 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-25 15:55:25 -07:00
logcd870a26189555cfa57dd40a95de5704a9fa1dce
treef486582379bf38a157eb7b3d927792b70f480938
parent11d5f86c0bc824f147fdeeea22dda03d751abb83
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

getHEAD: handle zero commits


1 files changed, 4 insertions(+), 2 deletions(-)

git.zig+4-2
......@@ -71,12 +71,14 @@ pub fn version(alloc: std.mem.Allocator) !string {
7171
7272/// Returns the result of running `git rev-parse HEAD`
7373/// dir must already be pointing at the .git folder
74// TODO this doesnt handle when there are 0 commits
7574pub fn getHEAD(alloc: std.mem.Allocator, dir: nfs.Dir) !?CommitId {
7675 const t = tracer.trace(@src(), "", .{});
7776 defer t.end();
7877
79 const headfile = try dir.readFileAlloc(alloc, "HEAD", 1024);
78 const headfile = dir.readFileAlloc(alloc, "HEAD", 1024) catch |err| switch (err) {
79 error.ENOENT => return null,
80 else => |e| return e,
81 };
8082 defer alloc.free(headfile);
8183 const h = std.mem.trimEnd(u8, headfile, "\n");
8284