On Tue, 13 Mar 2007, Jakub Narebski wrote: > Linus Torvalds wrote: > > > Another thing I find annoying (even as a UNIX user) is that whenever I do > > any tracing for performance data, shell is absolutely horrid. It's *so* > > much nicer to do 'strace' on built-in programs that it's not even funny. > > Isn't that what GIT_TRACE was made for? That just shows the high-level git commands. If you look for performance issues or correctness issues (like when I tried to figure out if O_LARGEFILE was set for "git clone"), GIT_TRACE does nothing. You want to do "strace -f -o trace-file". And shell scripts look horrible there, and make it much harder to follow things. In fact, it doesn't even need to be shell per se, but fork/exec already makes things harder to see, shell just tends to (a) make it even more so (try stracing though a shell startup, ugh) and (b) cause tons of fork/exec cases. For example, when we made patch generation a built-in, it suddenly became *hugely* easier to follow what was going on in the traces, because it got much more streamlined. In general I find that "high performance" == "easy to trace". Linus - 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