Re: Cleaning up git user-interface warts
From: Nicolas Pitre <hidden>
Date: 2016-08-11 20:22:45
On Wed, 15 Nov 2006, Junio C Hamano wrote:
If we had a separate Porcelain namespace (say "ng" for "new git") you would know "ng-commit" is not a Plumbing and when you are writing a Porcelain script you would stay away from using it in your script.
There is merit in trying to segregate porcelain vs plumbing... at least in theory. In practice though I don't think this is something we should absolutely strive for. Why? Because something is always going to fail the categorization. Sure there are commands that are pure plumbing like git-commit-tree, etc. Some are pure porcelain like git-commit or git-log. Yet we use git-log's output for git-shortlog. Does it mean that git-log is plumbing? Also I have a script here that uses git-commit directly because it is so much convenient rather than futzing with the really bare plumbing. I don't think git-commit should be prevented from being used within another script even if it is classified as porcelain. So we have that notion of plumbing vs porcelain but in practice there is a whole spectrum between those two poles and I think it is a good thing.