On 12 August 2015, Christian Ferbar wrote: > with this patch > > svn ls ^/<tab><tab> and svn merge ^/<tab><tab> > > will list the remote directories. > > to get "svn ls ^/" to autocomplete the path export SVN_BASH_COMPL_EXT=urls > has to be set, I don't know why this check is only in ls ...
Thank you, Chris. This is nice, but it could be much better... Please can URL completion work on full URLs as well as on relative URLs? Please can URL completion work for all relevant subcommands, not just "ls" and "merge"? Please can you declare the variables as "local" so they do not pollute the user's environment when it executes: - url="${BASH_REMATCH[2]}" + local url="${BASH_REMATCH[2]}" etc. I notice the script already guesses a full URL for a merge, in the following way: in a WC with 'branches' in its URL, it returns a full URL ending in 'trunk', and in a WC with 'trunk' in its URL, it returns a full URL ending in 'branches/' [1]. It would be nice if your new completion would be able to continue completing the path after 'branches/'. [1] It currently adds a space after 'branches/', which we should suppress like this: @@ -440,6 +450,7 @@ _svn() elif [[ "$here" == */trunk* ]] ; then # we guess that it is a merge from a branch COMPREPLY=( $(compgen -W ${here/\/trunk*/\/branches\/} -- $cur ) ) + compopt -o nospace return 0 else # no se, let us suggest the repository root... - Julian