Re: cgit, ages and chronological order

From: Mark Millard via freebsd-git <freebsd-git_at_freebsd.org>
Date: Wed, 17 Nov 2021 16:40:30 UTC

On 2021-Nov-17, at 01:40, Stefan Sperling <stsp@stsp.name> wrote:

> On Tue, Nov 16, 2021 at 02:32:52PM -0800, Mark Millard via freebsd-git wrote:
>> author	George V. Neville-Neil <gnn@FreeBSD.org>	2021-11-10 17:51:42 +0000
>> committer	George V. Neville-Neil <gnn@FreeBSD.org>	2021-11-10 18:09:19 +0000
>> 
>> information being based on local git commit timing (and clocks)
>> vs. when the commits are pushed to FreeBSD servers: The display
>> order is from the timing on the FreeBSD servers but the Age is
>> based on the original commit (before the push). The longer the
>> delay between commit and push, the more noticeable the
>> distinction is.
> 
> This is not how Git works. If the server changed the timestamp then
> it would also have to rewrite the commit object and change its hash.
> Git's server will only ever store objects as they arrived on the wire.
> 
> Rather, both timestamps were created locally.
> The above looks as if the author used git-rebase or similar on their own
> commits. Some Git commands will update the committer field but leave the
> author field as it is. These fields contain email address and timestamp.
> 
> Generally, sorting commits by committer timestamp will give the order
> most people would expect. Unless some client has an unsynced clock, and
> nothing can be done about that without a hypothetical smarter server and
> client which support server-side rewriting of commits during push.
> 

Try doing range searches for each of:

8ef0c11e7ce7
8ef0c11e7ce7^
8ef0c11e7ce7^^
8ef0c11e7ce7^^^
8ef0c11e7ce7^^^^

on the main branch and note where each starts. (These
are in the range that I showed originally.)

That is the order of the history on the branch on the
FreeBSD server. It does not follow the Age: Age need
not track the sequencing on the branch on the server.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)