Subject: Re: 'git pull' fails with 'not uptodate' message despite 'git reset --hard'

From: Jody McIntyre <[email-masked]>
Date: Wed, 29 Jul 2009 16:36:37 -0400

On Tue, Jul 28, 2009 at 08:19:54PM -0400, Avery Pennarun wrote:
> I've run into this problem when I rsync a tree from one system to
> another.  The inodes will be different, so merge will think files in
> the work tree have changed, but then diff (of course) won't see
> anything because it looks at the actual file contents, which are
> identical.

Interesting.  Now that I think about it, I do rsync this tree between my
desktop and laptop.  This would explain why I only just started seeing this
problem - I probably originally pulled the tree to my desktop, but this week
I'm working on my laptop.

> Usually a 'git status' will fix it.  In any case, if it doesn't,
> please send the output of 'git status' :)

This is again a bit strange:

$ git status
# On branch master
# Your branch is behind 'origin/master' by 484 commits, and can be fast-forwarded.
#
nothing to commit (working directory clean)
$ git status CREDITS > /tmp/git_status.txt
$ wc -l /tmp/git_status.txt
26063 /tmp/git_status.txt
$ head /tmp/git_status.txt 
# On branch master
# Your branch is behind 'origin/master' by 484 commits, and can be fast-forwarded.
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   .gitignore
#       modified:   .mailmap
#       modified:   COPYING

There appears to be an entry for every file in my tree minus things that
are in .gitignore.  git_status.txt is available at:

http://www.modernduck.com/files/git_status.txt

> I believe this cache out-of-dateness issue was fixed in a recent version of git.

I'll try that in the next few days and report back.

Thanks,
Jody

> Have fun,
> Avery