git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Consist timestamps within a checkout/clone
@ 2022-10-31 19:01 Mark Hills
  2022-10-31 20:17 ` Andreas Schwab
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Mark Hills @ 2022-10-31 19:01 UTC (permalink / raw)
  To: git

Our use case: we commit some compiled objects to the repo, where compiling 
is either slow or requires software which is not always available.

Since upgrading Git 2.26.3 -> 2.32.4 (as part of Alpine Linux OS upgrade) 
we are noticing a change in build behaviour.

Now, after a "git clone" we find the Makefile intermittently attempting 
(and failing) some builds that are not intended.

Indeed, Make is acting reasonably as the source file is sometimes 
marginally newer than the destination (both checked out by Git), example 
below.

I've never had to consider consistency timestamps within a Git checkout 
until now.

It's entirely possible there's _never_ a guarantee of consistency here.

But then something has certainly changed in practice, as this fault has 
gone from never happening to now every couple of days.

Imaginging I can't be the first person to encounter this, I searched for 
existing threads or docs, but overwhemingly the results were question of 
Git tracking the timestamps (as part of the commit) which this is not; 
it's consistency within one checkout.

$ git clone --depth 1 file:///path/to/repo.git

$ stat winner.jpeg
  File: winner.jpeg
  Size: 258243          Blocks: 520        IO Block: 4096   regular file
Device: fd07h/64775d    Inode: 33696       Links: 1
Access: (0644/-rw-r--r--)  Uid: (  106/ luthier)   Gid: (  106/ luthier)
Access: 2022-10-31 16:05:17.756858496 +0000
Modify: 2022-10-31 16:05:17.756858496 +0000
Change: 2022-10-31 16:05:17.756858496 +0000
 Birth: -

$ stat winner.svg
  File: winner.svg
  Size: 52685           Blocks: 112        IO Block: 4096   regular file
Device: fd07h/64775d    Inode: 33697       Links: 1
Access: (0644/-rw-r--r--)  Uid: (  106/ luthier)   Gid: (  106/ luthier)
Access: 2022-10-31 16:05:17.766859030 +0000
Modify: 2022-10-31 16:05:17.766859030 +0000
Change: 2022-10-31 16:05:17.766859030 +0000
 Birth: -

Elsewhere in the repository, it's clear the timestamps are not consistent:

$ stat Makefile
  File: Makefile
  Size: 8369            Blocks: 24         IO Block: 4096   regular file
Device: fd07h/64775d    Inode: 33655       Links: 1
Access: (0644/-rw-r--r--)  Uid: (  106/ luthier)   Gid: (  106/ luthier)
Access: 2022-10-31 16:05:51.628660212 +0000
Modify: 2022-10-31 16:05:17.746857963 +0000
Change: 2022-10-31 16:05:17.746857963 +0000
 Birth: -

-- 
Mark

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-11-03 13:46 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-31 19:01 Consist timestamps within a checkout/clone Mark Hills
2022-10-31 20:17 ` Andreas Schwab
2022-10-31 20:21 ` Ævar Arnfjörð Bjarmason
2022-10-31 20:36   ` Taylor Blau
2022-10-31 22:31     ` Mark Hills
2022-10-31 22:42       ` rsbecker
2022-11-01 18:34       ` Ævar Arnfjörð Bjarmason
2022-10-31 22:29   ` Mark Hills
2022-11-01 17:46     ` Ævar Arnfjörð Bjarmason
2022-11-02 14:16       ` Matheus Tavares
2022-11-02 14:28         ` Matheus Tavares
2022-11-01 13:55 ` Marc Branchaud
2022-11-02 14:45   ` Ævar Arnfjörð Bjarmason
2022-11-03 13:46     ` Marc Branchaud
2022-11-01 14:34 ` Erik Cervin Edin
2022-11-01 15:53   ` Ævar Arnfjörð Bjarmason
2022-11-03 13:02     ` Erik Cervin Edin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).