git porcelain v s plumbing
Apr. 1st, 2016 02:08 pmIt's not that I don't understand the etymology of --porcelain options. Lots of commands are "plumbing", ie. intended to produce output which is consumed by other commands rather than by the user, because git is like that.
So "porcelain" is coined to mean the opposite of that: output which is intended to by read by a person, and include lots of useless twiddles like human-readable column formatting, units, column headers, messages saying "there was nothing found" instead of returning "" etc.
And some commands are often used as user-facing commands, but can also be used by scripts and other commands intended to produce more user-friendly output, and so have a command line option "--porcelain" to mean "produce output which can be parsed by another command".
It's not that I don't know that.
It's that I think it's unnecessarily confusing that:
1. "Porcelain" means not "smooth, unencumbered" but the opposite
2. "--porcelain" means "make the output not porcelain".
So "porcelain" is coined to mean the opposite of that: output which is intended to by read by a person, and include lots of useless twiddles like human-readable column formatting, units, column headers, messages saying "there was nothing found" instead of returning "" etc.
And some commands are often used as user-facing commands, but can also be used by scripts and other commands intended to produce more user-friendly output, and so have a command line option "--porcelain" to mean "produce output which can be parsed by another command".
It's not that I don't know that.
It's that I think it's unnecessarily confusing that:
1. "Porcelain" means not "smooth, unencumbered" but the opposite
2. "--porcelain" means "make the output not porcelain".