git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: How to determine age of HEAD commit

From
Philip Oakley <philipoakley@iee.email>
Date
Dec 8, 2019, 15:05 UTC
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:
Show 24 quoted lines
> 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
Previous: Roger Gammans
Message 3 of 3 in “How to determine age of HEAD commit”
  1. Philip OakleyDec 8, 2019
  2. Roger GammansDec 8, 2019
  3. Philip OakleyDec 8, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.