> Date: Tue, 16 Oct 2007 13:39:12 +0100 (BST) > From: Johannes Schindelin <Johannes.Schindelin@xxxxxx> > cc: Daniel Barkalow <barkalow@xxxxxxxxxxxx>, raa.lkml@xxxxxxxxx, ae@xxxxxx, > tsuna@xxxxxxxxxxxxx, git@xxxxxxxxxxxxxxx > > > As I wrote in my other message, using native APIs improves performance > > by at least a factor of two. > > Somehow this does not appeal to my "portability is good" side. You know, > if we had to do such trickeries for every platform we support, we'd soon > be as big as Subversion *cough*. You have to decide whether you care about performance enough to do that or not. If you do, then introducing file I/O abstractions at higher level than the normal ``use-library-functions'' method is not such a hard problem, and doesn't make the binary larger because each platform gets only its own backend. In practice, I have found that in most cases a few well-designed and strategically placed macros is all you need. > For me, this is the most annoying part about programming Win32. They went > out of their way to make it incompatible with everything else, and as a > consequence it is a PITA to maintain crossplatform programs. Portability is a two-way street. A program that wasn't designed to be portable will by definition be hard to port. To me, what's annoying is a program that was designed around a single-OS model of APIs. Cross-platform programs are not that hard if you design them to be like that from the ground up. I'm working for a firm that does that for a living: we develop software that compiles and runs on Windows and Linux from the same source. > Explorer often accesses files it should not lock. > On the machine I test msysGit on, this is the most common reason for a > test case to fail: it cannot delete the temporary directory, which > _should_ be unused. Indeed, a second after that, it _is_ unused. One more reason not to launch Explorer, if you ask me ;-) But maybe you have valid reasons to do that. All I can say is that I never saw such problems, but then I don't usually run programs that rewrite files in a frenzy. - 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