subversion-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Foad <>
Subject Re: bash_completion - subversion add: svn ls/merge ^/<remote path>
Date Fri, 14 Aug 2015 11:26:56 GMT
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]}"

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

[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
           # no se, let us suggest the repository root...

- Julian

View raw message