From 6b3ed4455d943fca0606a5e2a18e629c6e56a111 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Sun, 7 Jul 2013 17:42:54 +0200 Subject: add git metadata to diagnostic info in luaotfload-tool.lua --- mkfilelist | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'mkfilelist') diff --git a/mkfilelist b/mkfilelist index 756bfe0..72dd59f 100644 --- a/mkfilelist +++ b/mkfilelist @@ -23,6 +23,7 @@ local stringformat = string.format local md5sumhexa = md5.sumhexa local ioloaddata = io.loaddata local iosavedata = io.savedata +local iopopen = io.popen ----------------------------------------------------------------------- -- settings @@ -70,6 +71,35 @@ local die = function (...) os.exit (1) end +local gitcmd = "git log -1 \z + --format=\"return {\z + %n revision = [[%H]],\z + %n timestamp = [[%cd]],\z + %n committer = [[%cn <%ce>]],\z + %n}\" \z + --date=iso" + +local git_info = function () + --io.write (gitcmd) + --io.write "\n" + local chan = iopopen (gitcmd) + if not chan then + die ("this script needs to be run inside \z + the luaotfload git repository") + end + + local data = chan:read "*all" + chan:close () + if data and type (data) == "string" and data ~= "" then + data = load (data) + if not data then + die "cannot parse git information" + end + return data () + end + die "cannot read from pipe" +end + ----------------------------------------------------------------------- -- functionality ----------------------------------------------------------------------- @@ -103,7 +133,9 @@ end local main = function () local hashes = hash_all () - local serialized = table.serialize (hashes, true) + local notes = git_info () + local serialized = table.serialize ({ notes = notes, + hashes = hashes }, true) local success = io.savedata (filelist, serialized) if success == false then die ("could not write to %s.", filelist) -- cgit v1.2.3