On Wed, Nov 28, 2012 at 01:10:34AM +0100, Felipe Contreras wrote: > > While "constant traffic" probably overstates the issue, these are not > > theoretical problems. I recall at least three cases in the last year > > or so where Git has seen breakage with Solaris or Mac OS X because > > of sed or tr incompatibilities, and I don't even read this list that > > thoroughly. > > Most of the *constant* traffic is about *theoretical* > incompatibilities, how much of that are real incompatibilities, it's > not known. _Some_ of the traffic is about real incompatibilities, > sure, but you could count only three cases *in a year*. It's not a > huge amount. And then, how man this year? > > Also, I would like references to those incompatibilities. Try: git log --grep='portab' -- '*.sh' Not all of the hits are shell portability fixes, but most of them are, and they are all in response to real, reported issues. The usual culprits are Solaris, BSD (including OS X), and the occasional GNUism. And that is only the ones that we fixed in response to bug reports for commits in the wild. Many more have been caught in review before needing a separate patch (grepping the list archive for 'portable' and '\.sh' yields 1800 messages). So dealing with shell portability is definitely something we do, and it is a minor pain. But like you, I think we have been getting along reasonably well with shell scripts (and where it is not powerful enough, writing C). No solution is going to be free of portability issues (whether because of differing versions, because the tool is uncommon on certain platforms, or whatever). And because git-core's official API is shell-executable commands, any other language you write ends up looking a lot like shell anyway. If people are really hankering to write sub-commands of git in python (or whatever), I would suggest checking out libgit2 which has a nice set of python bindings (and ruby bindings, and C# bindings, and so on). It doesn't have feature parity with git-core yet, but they have been making a lot of progress. -Peff -- 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