Cornelius Weig <cornelius.weig@xxxxxxxxxxx> writes: > On 02/02/2017 02:40 AM, SZEDER Gábor wrote: >> >>> ls-remote needs to complete remote names and its own options. >> >> And refnames, too. > > Yes, right. However, do you think it is reasonable to complete remote > refnames? I don't think so, because it would mean we would have to run > ls-remote during completion -- and waiting for ls-remote could be quite > lengthy. ... and by the time the completion script knew what they are, we have all information necessary without actually having the user run the command ;-) That does sound backwards. I am however not sure what Szeder really meant by "refnames". For example, you may want to see that this $ git ls-remote origin mast<TAG> peek into refs/remotes/origin/* and find those matching, i.e. most likely "master", and that can be done without talking to the remote side. It won't catch the case where the remote end added a new branch that also match, e.g. "mastiff", and it will actively harm the users by giving the impression that Git (collectively, even though from technical point of view, what the completion script does is not part of Git) told them that there is no such new branch they need to worry about. So probably even with the "peek local" optimization, I have a feeling that completion of refnames may not be such a good idea.