Re: Cleaning up git user-interface warts
From: Carl Worth <hidden>
Date: 2016-08-11 20:34:54
On Wed, 15 Nov 2006 11:41:20 -0800, Junio C Hamano wrote:
Andy Parkins [off-list ref] writes:quoted
On Wednesday 2006, November 15 18:16, Junio C Hamano wrote:quoted
I still think in the long run you would be better off giving separate names to Porcelains because I am sure you are going toThe 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
Attachments
- (unnamed) [application/pgp-signature] 189 bytes