... --porcelain[=<version>]
The idea is to present the porcelain at a specific version. So really you should read it as "give me the porcelain (for v1)", e.g.: git status --porcelain=v1
If it was an environment variable instead it would be GIT_PORCELAIN_VERSION $ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
foo
nothing added to commit but untracked files present (use "git add" to track)
$ git status --porcelain=v1
?? foo
$ git status --porcelain=v2
? foo
$ git status --porcelain=v3
fatal: unsupported porcelain version 'v3'
No --porcelain option gives you the output in the format of the git status porcelain, either at the current version or at Git 1.x or whatever, i.e., "give me the porcelain" is the wrong reading of the option.The correct reading is "I am implementing a porcelain myself, give me a format I can parse in order to do that."
This [2] answer by VonC even quotes a mail where someone said that it was “[their] fault, to some degree.”
[1] Because it proves the opposite point.
[2] https://stackoverflow.com/questions/6976473/what-does-the-te...
CVS was fine for small projects with a couple devs at most. Anything more than that and you needed someone on your project with far more domain knowledge in cvs than git requires now to avoid losing all your data in a botched operation on the thousands of independent rcs files a repo consisted of, so I really can't agree about avoiding massive wads of incidental complexity.
Git is, if anything, far simpler than cvs in just about every way imo. I could see myself using subversion for a lark, but I'm very happy if I never have to touch cvs again.
> Master Git snapped his fingers. A hobgoblin entered the room and ate the novice alive. In the afterlife, the novice was enlightened
Ah this term finally makes sense to me, since it's meant to deal with human output.