From: Junio C Hamano Date: Sun, 02 Nov 2008 22:27:57 GMT Subject: Re: [PATCH] Documentation: add a planning document for the next CLI revamp Message-ID: <7v3ai9226q.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20081031003154.GA5745@sigill.intra.peff.net> Jeff King writes: >> + * 'git push --matching' does what 'git push' does today (without >> + explicit configuration) > > I think this is reasonable even without other changes, just to override > any configuration. I don't. Can't you say "git push $there HEAD" these days? I vaguely recall that there is a way to configure push that way for people too lazy to type "origin HEAD" after "git push". >> + * 'git export' command that does what >> + 'git archive --format=tar --prefix=dir | tar x' does now > > I agree, if you mean "does what ... does now" means "looks to the user > like ... is happening". This is much more sanely done using > git-checkout-index (though somebody suggested "remote export", which > would need to use tar itself). I think I was neutral in the discussion that led to the removal of "git-export", but the rationale IIRC was exactly because "git-export" can be done by simply piping "git-tar" to tar. On the other hand, if all you had was "export" and you wanted to create a release tar/zip ball, you have to first create a (potentially huge) hierarchy in the filesystem only to archive it. This change needs to defend that the benefit of being able to create a new non-git checkout elsewhere on the filesystem far outweighs the downside of addition of another command (i.e. "eek, why does git have that many commands" from new people).