Re: Odd issue - The Diffs That WILL NOT DIE.
- From
Jeff King <peff@peff.net>
- Date
- Dec 7, 2011, 23:03 UTC
- Message-ID
- <20111207230329.GB21852@sigill.intra.peff.net>
- In-Reply-To
- <CAJ8P3RA48W7ZiABvjkn_KkU-JPnCnaF_X_WK0wPtToph3DGDvg@mail.gmail.com>
On Wed, Dec 07, 2011 at 05:24:01PM -0500, Chris Patti wrote:
Show 10 quoted lines
> Yup, you nailed it. The files in question are CloudSponge.php > (deleted) and Cloudsponge.php (still being actively maintained). > [...] > Actually I'm wrong on that count, but in an interesting way. > > Both CloudSponge.php and Cloudsponge.php exist and are *not* deleted > in the remote repository, but on OSX only Cloudsponge.php shows up on > the filesystem, yet CloudSponge.php is being reported as modified. > > Turns out two of our other developers are also seeing this behavior.
OK. Then it's not a bug[1], but rather an incompatibility issue. Your repository stores two files which differ only in case, but your underlying case-insensitive filesystem is incapable of storing both of them simultaneously.
There's really no way around it except to either use a case-sensitive filesystem, rename your files (or if one if obsolete, get rid of it).
[1] Arguably git could be better at noticing and reporting this issue, but that wouldn't change the fundamental problem.
> I am seeing the same behavior with 1.7.7.4 which I backrevved to > yesterday while troubleshooting this issue. Can you suggest an older > version for me to try next?
No, you'll see the same behavior in all versions of git (I was mostly concerned that it was a regression new in v1.7.8, as I fixed some case-sensitivity bugs recently).
> I'm not sure how I would git bisect in this case, I'd need to have all > the different git revs installed in order to do that right? (I'm > relatively new to git bisect, just figured it out the other day).
You can't bisect, because you don't have a version that actually worked. But if you had, you would do it by cloning and building the git repository itself, then starting a bisection like:
git clone git://git.kernel.org/pub/scm/git/git.git git bisect start git bisect bad v1.7.8 git bisect good v1.7.7.4 ;# if it had turned out to be OK
and then repeatedly build and try your test with each version of git, until if finally narrowed it down to a single offending commit.
-Peff