From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by dcvr.yhbt.net (Postfix) with ESMTP id 189DC1FF40 for ; Mon, 20 Jun 2016 20:10:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933483AbcFTUKc (ORCPT ); Mon, 20 Jun 2016 16:10:32 -0400 Received: from cloud.peff.net ([50.56.180.127]:57455 "HELO cloud.peff.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S933445AbcFTUK0 (ORCPT ); Mon, 20 Jun 2016 16:10:26 -0400 Received: (qmail 6542 invoked by uid 102); 20 Jun 2016 20:02:12 -0000 Received: from Unknown (HELO peff.net) (10.0.1.2) by cloud.peff.net (qpsmtpd/0.84) with SMTP; Mon, 20 Jun 2016 16:02:12 -0400 Received: (qmail 17671 invoked by uid 107); 20 Jun 2016 20:02:26 -0000 Received: from sigill.intra.peff.net (HELO sigill.intra.peff.net) (10.0.0.7) by peff.net (qpsmtpd/0.84) with SMTP; Mon, 20 Jun 2016 16:02:26 -0400 Received: by sigill.intra.peff.net (sSMTP sendmail emulation); Mon, 20 Jun 2016 16:02:09 -0400 Date: Mon, 20 Jun 2016 16:02:09 -0400 From: Jeff King To: Eric Deplagne Cc: Norbert Kiesel , Stefan Beller , "git@vger.kernel.org" Subject: Re: unable to pull from remote if commit date is in the future Message-ID: <20160620200209.GD3631@sigill.intra.peff.net> References: <20160620193928.GA3631@sigill.intra.peff.net> <20160620194947.GE24553@mail.eric.deplagne.name> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160620194947.GE24553@mail.eric.deplagne.name> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Mon, Jun 20, 2016 at 09:49:47PM +0200, Eric Deplagne wrote: > On Mon, 20 Jun 2016 15:39:28 -0400, Jeff King wrote: > > On Mon, Jun 20, 2016 at 12:05:07PM -0700, Norbert Kiesel wrote: > > > > > Hmm. On closer inspection that commit 23c07cc that github shows with > > > date 2152-06-19 is already in my local branch. I got confused because > > > locally it is shown with a different date: `git log -1 --format='%ci' > > > 23c07cc` shows "2106-02-07 06:28:56 -40643156" which is invalid. > > > > > > My system is running Debian unstable 64bit. Is git using the time > > > rendering methods from the C library (glibc 2.22-12)? > > > > No, git's time code is (mostly) internal routines. Can you show us the > > output of: > > > > git cat-file commit 23c07cc | egrep '^author|committer' > > > > Note also that some interfaces (like "git log", and GitHub) will show > > the author date by default, which might be different than the committer > > date. The "-40643156" timezone definitely looks suspicious, though. I'm > > curious if it is bad handling in the time code, or if the commit has > > corrupt ident lines. > > > > -Peff > > 2106 is the year of unsigned 32-bit unix time bug, would there be any relation ? In an extremely roundabout way, yes. That -40643156 time zone really is "minus 46 years", but it was generated by _different_ code trying to compute the author timezone on the fly and using a stray "-1". So I suspect that no matter what time you ask for in the year 2152 (or later), the same process would end up with the 2106 time, as the timezone is custom-computed to end up back at the same error point. -Peff