From 4c50d70fc94e765b1bf7b5e13f629ee1eea887e4 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 10 Jul 2021 18:09:38 -0700 Subject: [PATCH] util- `git_rev_HEAD` now accepts a `std.fs.Dir` --- src/util/dep_type.zig | 4 +++- src/util/funcs.zig | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/util/dep_type.zig b/src/util/dep_type.zig index 7fc5524d05b8c058ecb265fdf80abf9281b7ffb6..6b9c8de91e5446f356daa2172db5615ac6308605 100644 --- a/src/util/dep_type.zig +++ b/src/util/dep_type.zig @@ -75,10 +75,12 @@ pub const DepType = enum { } pub fn exact_version(self: DepType, mpath: []const u8) ![]const u8 { + var mdir = try std.fs.cwd().openDir(mpath, .{}); + defer mdir.close(); return switch (self) { .local => "", .system_lib => "", - .git => try std.fmt.allocPrint(gpa, "commit-{s}", .{(try u.git_rev_HEAD(gpa, mpath))[0..7]}), + .git => try std.fmt.allocPrint(gpa, "commit-{s}", .{(try u.git_rev_HEAD(gpa, mdir))[0..7]}), .hg => "", .http => "", }; diff --git a/src/util/funcs.zig b/src/util/funcs.zig index c29f64ed773b75effd8e836ec208dbf8c1298bdc..4cc1184a461b4dfd5f3ea96cdadd52781df1db4a 100644 --- a/src/util/funcs.zig +++ b/src/util/funcs.zig @@ -251,9 +251,8 @@ pub fn do_hash(comptime algo: type, data: []const u8) ![]const u8 { } /// Returns the result of running `git rev-parse HEAD` -pub fn git_rev_HEAD(alloc: *std.mem.Allocator, path: []const u8) ![]const u8 { +pub fn git_rev_HEAD(alloc: *std.mem.Allocator, dir: std.fs.Dir) ![]const u8 { const max = std.math.maxInt(usize); - const dir = try std.fs.cwd().openDir(path, .{}); const dirg = try dir.openDir(".git", .{}); const h = std.mem.trim(u8, try dirg.readFileAlloc(alloc, "HEAD", max), "\n"); const r = std.mem.trim(u8, try dirg.readFileAlloc(alloc, h[5..], max), "\n"); -- 2.54.0