diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-07-07 17:42:54 +0200 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-07-07 17:42:54 +0200 |
commit | 6b3ed4455d943fca0606a5e2a18e629c6e56a111 (patch) | |
tree | c911a17c8cc4e7b3014c098302cd4dd3227a9775 /mkfilelist | |
parent | 9504cd2bf2c83d1c8b2326967836ad2c9f03178c (diff) | |
download | luaotfload-6b3ed4455d943fca0606a5e2a18e629c6e56a111.tar.gz |
add git metadata to diagnostic info in luaotfload-tool.lua
Diffstat (limited to 'mkfilelist')
-rw-r--r-- | mkfilelist | 34 |
1 files changed, 33 insertions, 1 deletions
@@ -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) |