From: SZEDER Gábor Date: Sat, 08 Jun 2013 00:11:47 GMT Subject: Re: What's cooking in git.git (Jun 2013, #03; Thu, 6) Message-ID: <20130608001147.GA32350@goldbirke> In-Reply-To: <7vk3m5si4h.fsf@alter.siamese.dyndns.org> On Fri, Jun 07, 2013 at 02:53:02PM -0700, Junio C Hamano wrote: > SZEDER Gábor writes: > > > On Fri, Jun 07, 2013 at 12:46:25PM -0700, Junio C Hamano wrote: > >> Thanks for a pointer. I think what I was suggesting was slightly > >> different in that I was hoping to see a single helper that knows to > >> complete to object names (possibly including trees/blobs with the > >> treeish:path notation), ranges, and pathnames (not treeish:path > >> notation) until it sees a "--" and then complete only to pathnames. > > > > We already got that except the completion of pathnames before "--", > > and I don't know how that could be done properly for commands taking > > both refs and paths. > > ... > > git diff git.c > > git diff master git.c > > git diff master next git.c > > It is somewhat annoying that "git diff gi" stops at expanding > it to "git diff git" and then upon another "git diff git" > offers tags whose names begin with "git" (e.g. gitgui-0.10.0) but > the pathname git.c is not included in the choices. My wish was to > take the union in such a fairly limited case. I tend to agree with > you that "git diff " that expands to all refs and pathnames > would be useless, but so is expansion to all pathnames (or refnames > for that matter). ... or trying to complete a branch name starting with a 'v', and then getting all the vx.y.z tags. If you know you want git.c, then you can force filename completion either by entering "--" before hitting tab or by using the Alt-/ Bash (readline?) keybinding, otherwise you'll get refs. I think this is more than adequate, as it brings the best of both worlds: you can quickly and easily get both ref-only and file-only completion. Training your fingers to type "--" is perhaps better, just in case we'll ever do tracked-file-aware filename completion for e.g. 'git log -- g' in the future. Best, Gábor