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. Just consider git diff git.c git diff master git.c git diff master next git.c We can't guess whether the user wants refs or paths when he first hits tab after 'git diff ', not even after 'git diff master '. I definitely don't want to see refs and paths all mixed up. As for the _single_ helper: I think it has some value that we have different helper functions and we can indicate whether a certain git command can take a ref or ref:path or ref1...ref2 or even ref1..ref2:path by calling the appropriate helper function (however badly it might have been named), even if all these functions happen to boil down to a single implementation. Gábor -- 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