Hi Roger,
On 08/12/2019 14:07, Roger Gammans wrote:
On Sun, 2019-12-08 at 12:09 +0000, Philip Oakley wrote:
Is there a command that does return the numeric agedness of a commit
(e.g. now - commit_date, in seconds)?
Hi
I don't know a specific command for the age. But `git cat-file commit
HEAD`, will give you the commit's timestamps in seconds from the the
epoch. (Plus some timezone info).
I can construct a bash script, shown below (warning: only had the most
rudimentary testing), which turns that into an age. For your use case
you might be better getting yesterdays unix-timestamp from date, if GNU
date is available, and directly comparing it to the commit timestamp.
------
#!/bin/bash
now=$(date +"%s")
commit=$(git cat-file commit HEAD | grep committer)
commit=${commit##*>}
commit=${commit%%+*}
echo $(( $now-$commit ))
#--------------
Thanks,
That has spurred me into looking at a few other ideas.
Unfortunately the script needs to run inside a DOS batch file as part of
a Visual Studio pre-build step, hence the desire for a direct command.
That said I have now found, with a bit of rooting around, that
`git log -1 --format=format:"%ct" HEAD`
does appear to give the right form of answer. Just need to see if I can
fit it into the DOS pre-build script now ;-)
There may be extra tweaks needed.. (a merged pull has the pull date, but
a fast forward pull has the original date)
Philip
Philip