diff options
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) | 
