On Wed, 15 Nov 2006 11:41:20 -0800, Junio C Hamano wrote: > Andy Parkins <andyparkins@xxxxxxxxx> writes: > > On Wednesday 2006, November 15 18:16, Junio C Hamano wrote: > > > >> I still think in the long run you would be better off giving > >> separate names to Porcelains because I am sure you are going to > > > > The problem I think with that is that the line between plumbing and porcelain > > is not clear. > > This is moot because we (at least tentatively) agreed not to do > "gh" or "ig" or whatever, but I do not understand why you feel > so. I'm not the original poster, but I feel the same way about the line being unclear. Here's a real-world example from last week. For cairo I wrote a little script that two revspecs, (or one in which case its first parent is used), and it goes off and checks out both versions, builds each, runs a performance test on each, and then generates a report showing the performance impact. So now I can do things like: # What's the performance impact of my latest change: cairo-perf-diff HEAD # Have my last few changes helped as much as I'd hoped: cairo-perf-diff HEAD~3 HEAD # How has performance changed since our last stable release: cairo-perf-diff 1.2.6 HEAD Anyway, when I announced this I also mentioned how easily someone might generate an entire series of reports for a series of commits. The command I gave as an example is: for rev in $(git rev-list 1.2.6..HEAD); do cairo-perf-diff $rev done I think that's a perfectly legitimate one-liner for users to use, and it really shows off the easy-scriptability of git. But certainly, no "new porcelain" author is going to consider rev-list to be porcelain rather than plumbing, right? So as soon as I start teaching people to do useful stuff like this, they might have to reach down into the "scary" git interface. I think we're much better off just having one "git" namespace for the standard command-line interface, and then making it as easy to use as possible. -Carl
Attachment:
pgpM92uH42ucz.pgp
Description: PGP signature