reassign 542709 git git/1:1.6.3.3-2
quit

Hi,

On 18 November 2009, Uli Schlachter wrote:

> I just saw something like this, too.
> 
> After git rebase I got tons of conflicts, I fixed them up and "git add"'ed 
> each
> file, but git rebase --continue just showed me the message the message above.
> (git status didn't report any unmerged files)
> 
> With some googling I found git diff-files which gave me a file name.

In other words, the index’s cached lstat() information was getting out
of date for some reason.  The details of why are still a mystery to
me.  But I have learned a little.

To recap, most "high level" commands refresh the index before they
start work.  Low-level commands do not, since the caller can take care
of it and this makes calling them in a loop a little faster[1].  That
is far from explaining your symptoms, since as a high-level command,
‘git rebase’ should refresh the index itself when appropriate.

Uli, do you know whether you were using a release candidate when you
experienced this problem?  If you remember when that was,
/var/log/dpkg.log would tell.  I am asking because this would confirm
whether the explanation is sane, since in any release before 1.7.0,
‘git status’ would have refreshed the index[2].

Thanks,
Jonathan

[1] Once exception: although it is a high-level command, gitk does not
refresh the index.  I think this is a good thing, since it makes it
easier to investigate problems.  There is already a patch written to
change this behavior, so it should be easy to change my mind.
http://thread.gmane.org/gmane.comp.version-control.git/144176/focus=144182

See also http://bugs.debian.org/522349

[2] ‘git status’ does not have much need to refresh the index, but it
was once advertised to.  It does not currently refresh the index, but
this a bug and will be fixed soon:

 . v1.5.4-rc0~78^2~30 (Port git commit to C, 2007-11-08) left out
   this feature.

 . v1.5.4-rc0~78^2~27 (builtin-commit: Refresh cache after adding
   files, 2007-11-09) brought it back again.

 . v1.5.4-rc0~33 (don't mention index refreshing side effect in
   git-status docs, 2007-12-09) removed the advertisement.

 . v1.6.6.2~24^2 (status: don't require the repository to be writable,
   2010-01-19) moved to the present behavior: ‘git status’ tries to
   refresh the index if and only if it has permission to.  This way,
   ‘git status’ can still be used in a read-only repository.

 . v1.7.0-rc0~137^2~17 (git status: not "commit --dry-run" anymore,
   2009-08-15) broke it again.

 . commit 4bb6644 (git status: refresh the index if possible,
   2010-04-02) from master fixes it again and should be part of the
   next upstream release.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to