From: Shawn Pearce <spearce@spearce.org>
To: Matthew L Foster <mfoster167@yahoo.com>
Cc: Linus Torvalds <torvalds@osdl.org>, Andreas Ericsson <ae@op5.se>,
Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org, Jeff King <peff@peff.net>,
Jakub Narebski <jnareb@gmail.com>
Subject: Re: git and time
Date: Wed, 27 Sep 2006 18:57:38 -0400 [thread overview]
Message-ID: <20060927225738.GC21839@spearce.org> (raw)
In-Reply-To: <20060927224651.26627.qmail@web51013.mail.yahoo.com>
Matthew L Foster <mfoster167@yahoo.com> wrote:
> --- Shawn Pearce <spearce@spearce.org> wrote:
>
> > Because of the potentical for clock skew even on a single system
> > you can't take much stock in a timestamp. But with Git you can at
> > least completely trust the commit graph, provided that you trust
> > those who made commits before your own commit. Of course this
> > trust is only possible because the commit graph cannot be altered
> > once a node has been added into it.
> >
> > As such the commit graph is consistent between repositories (assuming
> > they have the same head commits), but the timestamps of the reflogs
> > within each will widely differ. They could widely differ even on
> > the same system due to ntpd updating the clock at the exact wrong
> > moment for example. :)
>
> I am not arguing for git to try to achieve "exact" time just merely locally time consistent commit
> order. This might all just be a gitweb.cgi time display issue, it should be more impossible for a
> commit to appear as being made 2 days in the future and impossible for local time order to be out
> of sync with commit order. If each git repo used local time to track commits/merges you wouldn't
> have to worry if any remote git server's time was grossly misconfigured. Time doesn't need to be
> exact, all I am saying is each git repo should trust/prefer its local time rather than a remote
> git server's timestamp.
Git does has local time order, so long as the user doesn't screw
around with their clock.
Each time a commit gets made (or a merge gets performed) Git takes
the local system clock and dumps into the new commit as part of
the "committer" comment. But as has been stated many times before
in this thread, this is no more trustworthy than the username and
email address also appearing in that "committer" line and its not
relied upon by Git. Some interfaces may try to sort based on this
timestamp but only to help it break ties. The dependency graph
always wins as that's always correct.
I have a Git repository from which I'm tracking an SVN repository.
Recently that SVN repository gave me "(no date)" as a datestamp.
Git converted that to Jan 1, 1970. That commit has a parent and
has a child, both of which have sane timestamps. But viewing this
in gitk or git log its obvious that the Jan 1, 1970 commit is in
the right position within the graph, it just has a timestamp that
I can't trust as its 36 years in the past.
There's nothing I can do about that timestamp. It came from another
system that I have no control over. But Git accurately recorded
what that other system provided it. The "truth" here is that other
system provided a bogus timestamp.
--
Shawn.
next prev parent reply other threads:[~2006-09-27 22:58 UTC|newest]
Thread overview: 120+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-26 23:23 git and time Matthew L Foster
2006-09-26 23:27 ` Johannes Schindelin
2006-09-26 23:32 ` Jakub Narebski
2006-09-26 23:33 ` Jeff King
2006-09-27 0:27 ` Matthew L Foster
2006-09-27 1:11 ` Junio C Hamano
2006-09-27 8:42 ` Andreas Ericsson
2006-09-27 15:28 ` Jeff King
2006-09-27 14:09 ` Matthew L Foster
2006-09-27 14:29 ` Andreas Ericsson
2006-09-27 18:01 ` Matthew L Foster
2006-09-27 18:10 ` Linus Torvalds
2006-09-27 20:44 ` Matthew L Foster
2006-09-27 20:51 ` Linus Torvalds
2006-09-27 21:16 ` Matthew L Foster
2006-09-27 21:01 ` Linus Torvalds
2006-09-27 21:44 ` Matthew L Foster
2006-09-27 21:48 ` Linus Torvalds
2006-09-27 22:28 ` Matthew L Foster
2006-09-27 22:54 ` Linus Torvalds
2006-09-27 23:02 ` Shawn Pearce
2006-09-27 23:14 ` Linus Torvalds
2006-09-28 0:12 ` Matthew L Foster
2006-09-28 0:21 ` Jeff King
2006-09-28 0:23 ` Shawn Pearce
2006-09-28 1:39 ` Matthew L Foster
2006-09-28 2:21 ` Linus Torvalds
2006-09-29 7:52 ` Andreas Ericsson
2006-09-29 14:09 ` Johannes Schindelin
2006-09-29 14:21 ` Andreas Ericsson
2006-09-28 1:23 ` Junio C Hamano
2006-09-28 1:48 ` Matthew L Foster
[not found] ` <20060927220404.8e216945.seanlkml@sympatico.ca>
2006-09-28 2:04 ` Sean
2006-09-28 2:49 ` Matthew L Foster
2006-09-28 2:43 ` David Lang
[not found] ` <20060927230330.90c63d23.seanlkml@sympatico.ca>
2006-09-28 3:03 ` Sean
2006-09-28 3:26 ` Tom Prince
2006-09-28 13:17 ` Theodore Tso
2006-09-28 14:50 ` Matthew L Foster
2006-09-28 15:29 ` Rogan Dawes
2006-09-28 16:55 ` Matthew L Foster
2006-09-28 17:11 ` Linus Torvalds
2006-09-28 17:28 ` Junio C Hamano
2006-09-28 17:33 ` Matthew L Foster
2006-09-28 17:42 ` Johannes Schindelin
2006-09-28 19:43 ` Matthew L Foster
2006-09-28 19:50 ` Shawn Pearce
2006-09-28 22:29 ` Matthew L Foster
2006-09-28 22:35 ` Johannes Schindelin
2006-09-28 22:55 ` Matthew L Foster
2006-09-29 8:16 ` Andreas Ericsson
2006-09-28 18:01 ` Linus Torvalds
2006-09-28 19:18 ` Matthew L Foster
2006-09-29 0:27 ` Theodore Tso
2006-09-29 1:44 ` Matthew L Foster
2006-09-29 2:28 ` Junio C Hamano
2006-09-28 20:36 ` Robin Rosenberg
2006-09-28 20:46 ` A Large Angry SCM
2006-09-28 22:12 ` Matthew L Foster
2006-09-28 22:25 ` A Large Angry SCM
2006-09-28 22:31 ` Matthew L Foster
2006-09-28 22:45 ` Matthew L Foster
2006-09-28 3:07 ` Nicolas Pitre
2006-09-28 3:39 ` Tom Prince
2006-09-28 3:47 ` Shawn Pearce
2006-09-28 4:07 ` Junio C Hamano
2006-09-28 1:36 ` Theodore Tso
2006-09-28 2:29 ` Matthew L Foster
2006-09-28 2:51 ` Nicolas Pitre
2006-09-28 4:03 ` Junio C Hamano
2006-09-28 14:34 ` Nicolas Pitre
2006-09-28 16:05 ` Junio C Hamano
2006-09-29 22:27 ` Junio C Hamano
2006-09-30 4:50 ` Shawn Pearce
2006-09-30 7:28 ` Junio C Hamano
2006-09-30 17:36 ` Linus Torvalds
2006-09-30 23:04 ` Junio C Hamano
2006-10-01 0:13 ` Linus Torvalds
2006-10-01 0:24 ` Junio C Hamano
2006-10-01 8:07 ` Junio C Hamano
2006-10-01 8:37 ` Johannes Schindelin
2006-10-02 23:50 ` Jakub Narebski
2006-09-29 20:42 ` Jakub Narebski
2006-09-27 21:56 ` Shawn Pearce
2006-09-27 22:46 ` Matthew L Foster
2006-09-27 22:57 ` Shawn Pearce [this message]
2006-09-27 18:53 ` Andy Whitcroft
2006-09-27 16:29 ` Linus Torvalds
2006-09-27 18:00 ` Edgar Toernig
2006-09-27 18:09 ` Linus Torvalds
2006-09-29 20:58 ` Jakub Narebski
2006-09-27 1:58 ` Linus Torvalds
2006-10-03 0:01 ` Jakub Narebski
2006-09-27 3:34 ` Jeff King
[not found] ` <20060926234309.b16aa44e.seanlkml@sympatico.ca>
2006-09-27 3:43 ` Sean
2006-09-27 4:50 ` Junio C Hamano
[not found] ` <20060927010437.5fa57ed0.seanlkml@sympatico.ca>
2006-09-27 5:04 ` Sean
2006-09-27 5:52 ` Jeff King
[not found] ` <20060927021529.69fd7274.seanlkml@sympatico.ca>
2006-09-27 6:15 ` Sean
2006-09-27 4:28 ` Shawn Pearce
2006-09-27 4:53 ` Junio C Hamano
2006-09-27 10:13 ` Junio C Hamano
2006-09-27 15:11 ` Shawn Pearce
2006-09-27 20:46 ` Junio C Hamano
2006-09-27 21:36 ` Shawn Pearce
[not found] ` <20060927002745. 15344.qmail@web51005.mail.yahoo.com>
2006-09-27 0:56 ` Sean
[not found] ` <20060926205632.5d487cc9.seanlkml@sympatico.ca>
2006-09-27 0:47 ` David Lang
[not found] ` <20060926210721.36eb509d.seanlkml@sympatico.ca>
2006-09-27 1:07 ` Sean
2006-09-27 1:34 ` Junio C Hamano
2006-09-27 1:31 ` David Lang
[not found] ` <20060926215836.f4a25297.seanlkml@sympatico.ca>
2006-09-27 1:58 ` Sean
2006-09-27 2:31 ` Junio C Hamano
[not found] ` <20060926224133.714337eb.seanlkml@sympatico.ca>
2006-09-27 2:41 ` Sean
2006-09-29 17:37 ` Jan Harkes
[not found] ` <20060929134616.7966d18c.seanlkml@sympatico.ca>
2006-09-29 17:46 ` Sean
-- strict thread matches above, loose matches on Subject: below --
2006-09-28 0:49 apodtele
2006-09-28 16:53 ` Linus Torvalds
2006-09-28 16:50 apodtele
[not found] <20060928170110.GD3650@socrates.priv>
2006-09-28 17:30 ` Matthew L Foster
2006-09-28 18:21 apodtele
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060927225738.GC21839@spearce.org \
--to=spearce@spearce.org \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
--cc=jnareb@gmail.com \
--cc=junkio@cox.net \
--cc=mfoster167@yahoo.com \
--cc=peff@peff.net \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).