From: Eli Zaretskii Date: Tue, 16 Oct 2007 13:16:12 GMT Subject: Re: Switching from CVS to GIT Message-ID: In-Reply-To: > Date: Tue, 16 Oct 2007 13:39:12 +0100 (BST) > From: Johannes Schindelin > cc: Daniel Barkalow , raa.lkml@gmail.com, ae@op5.se, > tsuna@lrde.epita.fr, git@vger.kernel.org > > > 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.