From: Philip Oakley Date: Sun, 08 Dec 2019 15:05:44 GMT Subject: Re: How to determine age of HEAD commit Message-ID: <74d4a783-6196-08ce-b600-2eb2cacecac7@iee.email> In-Reply-To: <0a578dce37e8802b2022df80c336f61a264a33e3.camel@gammascience.co.uk> 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