On 10/10/18 5:03 PM, Ævar Arnfjörð Bjarmason wrote: > > I'm mildly negative on this because git-rev-parse is plumbing, but > git-branch is porcelain [..] > > We also list git-rev-parse as porcelain, just under "Porcelain / Ancillary > Commands / Interrogators". > > Should we just move it to plumbing? I don't know. >From my perspective as a Git user, not developer, git-rev-parse is between plumbing and porcelain, but much more plumbing. It's listed as porcelain but is connected to the plumbing git-rev-list, and for the most part it does things incomprehensible without understanding Git internals. Then it also has a bunch of options that are very useful in scripts but unrelated to revisions, here I mean --git-dir or --is-inside-work-tree. I'd be happy to submit a documentation patch for discussion that formally moves rev-parse to plumbing. > Also, as much as our current scripting interface can be very confusing > (you might not think "get current branch" is under rev-parse), I can't > help but think that adding two different ways to spew out the exact same > thing to two different commands is heading in the wrong > direction. Agreed, so I'm very much inclined to move forward with Junio's preferred solution on this, which would also act differently by only outputting the branch when you're really on a branch, and being silent in e.g. detached HEAD.