Hi, On Fri, 6 Feb 2009, Kjetil Barvik wrote: > * Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > | Of course, what we _really_ would do is to provide a flag, say, > | FSTAT_UNRELIABLE and test for _that_ (after defining it in the Makefile > | for the appropriate platforms). > > Or, maybe > > #define FSTAT_RELIABLE 1 > > for Linux only? No, I think that would be wrong. Especially after Junio's remarks that fstat() is actually required to behave as you expected it, and only Windows (surprise, surprise) has problems following the standard. > Then we can change the if-test inside this patch to the following: > > - if (state->refresh_cache && !to_tempfile && !state->base_dir_len) { > + if (state->refresh_cache && !to_tempfile && !state->base_dir_len && > + FSTAT_RELIABLE) { > > Then we do not have to have #if-defines inside the source code, only > in one header file. In the spirit of consistency, I would not do that. > But, question: is this patch worth the extra lines added to the source > code? You seemed to get a nice speedup on Linux. If Windows cannot follow suit, too bad. But I do not want to be punished because other people's OS is not as good as mine, so I _want_ fstat(). And those few lines will not hurt, they'll be readable enough. Ciao, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html