Carl Worth <cworth@xxxxxxxxxx> writes: > 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. >... > 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. That is a very fine example, but I do not see why it is a problem. I do not think the goal of Porcelain is to make it totally unnecessary for users to know about the plumbing. The one-liner is essentially a new Porcelain command that is useful in the cairo developers' workflow, and implementing it with a plumbing command makes perfect sense. The whole point of git plumbing is to be friendly for scripted use. If the user who learns that one-liner from you gets curious why and how that one-liner works, that would be a good gentle introduction to the plumbing, but otherwise the user is not forced to know about it. Also I do not see a problem if some plumbing commands happen to be also useful by themselves ("[alias] less = -p cat-file -p" comes to mind for example). Some plumbing commands may be too deep magic and users do not have to directly deal with them every day. Some other plumbing commands are so low-level and needs combination with others to be any useful, and it is cumbersome to type the combination every day. For the latter kind, we have Porcelain commands that implement the frequently used combination and the end users do not have to know about them. So it is true that by having a rich and usable set of Porcelain, there is less need for the users to know about all the plumbing details, but I consider that is a happy consequence. It does not have to be the goal of having a good Porcelain to hide the whole plumbing. - 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