On Wed, Nov 15, 2006 at 01:31:50AM CET, Junio C Hamano wrote: > Carl Worth <cworth@xxxxxxxxxx> writes: > > > On Tue, 14 Nov 2006 20:47:07 +0100, Petr Baudis wrote: > >> Hmm, did they (not) consider Cogito? They wouldn't have those issues. > > > > I didn't ask. > > > > Frankly, I don't see a lot of value in the git/cogito split right now. > > ... > > It's great that git is written in a script-friendly way so that new > > interfaces can be built on top of it. And I think the benefits of new > > user interfaces are clear when they work in fundamentally different > > ways, (say, being operated through a GUI). But where git and cogito > > are both command-line utilities and have the same basic functionality, > > ... > > There are some things that cogito does that git does not that I would > > like to have in git. > > ... > > I don't see any defining difference that justifies cogito's > > existence ("hide the index" maybe? let's just hide it a tiny bit more > > in git). And I would like to help work to get the remaining good > > stuff that has been proven in cogito---to get it pushed down into git > > itself. > > I am of two minds here. > > I do not think the Porcelain-ish UI that is shipped with git > should be taken with the same degree of "authority" as git > Plumbing. ..snip passage about workflows.. Controversy's fun, so... <Cogito maintainer hat _off_> (But yeah, it still looks silly that I'm saying this.) From the current perspective, I think it has been a mistake that the porcelain and plumbing was not kept separate in independent packages, and perhaps even maintained separately (and perhaps not; at least having a single tree with plumbing/ and porcelain/ directories and separate packages in distributions might already help something), so that "git" would be kept as a kind of library and then there would be a separate package providing an interface to it. Or you could select one of several packages. Not only would that make Cogito prevail in the world and bring me a flood of marriage proposals, but look at how would it help the general public: (i) Clearly divided porcelain/plumbing interface, so that you can really isolate the two UI-wise; endless confusion reigns there now. Is git-update-index porcelain or plumbing? _You_ call git-merge a proper porcelain? From my perspective, git-update-ref is as plumbing as it gets, but it's classified as porcelain. Etc, etc. This would be by far the most important advantage. (ii) The plumbing and porcelain would not share the same namespace, leading to clearer UI. (I'm just inflating (i).) (iii) The documentation would not be a strange mix of porcelain and plumbing. (More (i) inflation.) (iv) (i) is troublesome because I have a feeling that Junio declared several times that he doesn't care that much about stable API for porcelain compared to the plumbing. But with the current mix it's desirable to use some porcelain even in other porcelains and in scripts. (v) Git would be properly libified by now. If you wanted to convert bits of porcelain to C, it would be at least much higher priority. (vi) You wouldn't need to make the gruesome choice on what is the canonical workflow the _the_ Git porcelain supports (see the snipped passage). Or you would, but it would have less impact. (vii) The world would be a happier place. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html