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 D4C5D1FF40 for ; Mon, 20 Jun 2016 19:47:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932667AbcFTTrH (ORCPT ); Mon, 20 Jun 2016 15:47:07 -0400 Received: from cloud.peff.net ([50.56.180.127]:57429 "HELO cloud.peff.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1754504AbcFTTrE (ORCPT ); Mon, 20 Jun 2016 15:47:04 -0400 Received: (qmail 5875 invoked by uid 102); 20 Jun 2016 19:46:51 -0000 Received: from Unknown (HELO peff.net) (10.0.1.2) by cloud.peff.net (qpsmtpd/0.84) with SMTP; Mon, 20 Jun 2016 15:46:51 -0400 Received: (qmail 17511 invoked by uid 107); 20 Jun 2016 19:47:05 -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 15:47:05 -0400 Received: by sigill.intra.peff.net (sSMTP sendmail emulation); Mon, 20 Jun 2016 15:46:49 -0400 Date: Mon, 20 Jun 2016 15:46:49 -0400 From: Jeff King To: Norbert Kiesel Cc: Stefan Beller , "git@vger.kernel.org" Subject: Re: unable to pull from remote if commit date is in the future Message-ID: <20160620194648.GB3631@sigill.intra.peff.net> References: <20160620193928.GA3631@sigill.intra.peff.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160620193928.GA3631@sigill.intra.peff.net> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org On Mon, Jun 20, 2016 at 03:39:28PM -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. Actually, I just noticed in your earlier message a link to the public GitHub repository. So to answer my own questions: $ git cat-file commit 23c07cc | egrep '^author|committer' author Sean D'Epagnier 5758122296 -40643156 committer Sean D'Epagnier 5758122296 -40643156 Yes, the timezone really is that ridiculous value. No, the author and committer aren't different. According to GNU date, the correct timestamp is actually in 2152. Offhand, I'd guess that the timestamp exceeding 2^32 is getting converted somewhere inside git to a bogus value, and that's how we end up with 2106. -Peff