TIL: porcelain versus plumbing

May 29, 2020

I guess I haven’t spent enough time living in the git documentation to notice this before, but a Stack Overflow answer for something I was trying to do with git diff used the term “porcelain” function to describe diff versus diff-index, which led to another Stack Overflow answer to what the concept of a porcelain function was, the origin of which appears to be from this email conversation in the git project

If you don’t want it, I won’t do it. Still makes sense to separate the
plumbing from the porcelain, though.

It’s interesting to me that software prefers plumbing metaphors to electrical ones (switches from the circuits, in this case), but I guess what travels through the plumbing is critical to the metaphor.