On 06/13/10 06:25 PM, Uwe Stuehler wrote:
> Index: subversion/libsvn_client/cmdline.c
> --- subversion/libsvn_client/cmdline.c (revision 953325)
> +++ subversion/libsvn_client/cmdline.c (working copy)
> @@ -123,6 +123,7 @@ check_root_url_of_target(const char **root_url,
> * argument.
> if ((err->apr_err == SVN_ERR_ENTRY_NOT_FOUND)
> + || (err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND)
> || (err->apr_err == SVN_ERR_WC_NOT_WORKING_COPY))
> With this change svn_cl__status() actually makes it past the
> argument parsing phase:
Sorry, replying to myself since I forgot to include a log message.
Fix handling of non-WC paths in presence of repository relative URLs
(check_root_url_of_target): Catch a new error constant for paths
that are not registered in a working copy, and thereby allow the
argument processing to continue as expected.
Patch by: Uwe Stuehler (subversion-lists_at_bsdx.de)
Actually, in the example that I used in my previous mail:
$ cd /path/to/wc
$ svn status ^/ foo
As far as I understood the purpose of check_root_url_of_target(),
it is applied in order to make sure that if ^/ is being used, all
other arguments refer to the same repository. Is that correct?
(That got me a bit confused, since I previously assumed that ^/
is always expanded to the repository URL of the current working
directory and not based on any other arguments that I supply.)
Even though 'foo' is not under SVN control and does not exist yet,
the argument points to a path *inside* the current working copy.
So I wonder: shouldn't it be possible to retrieve the repository
URL of that (nonexistent) path anyway? It would be possible to
infer this from the parent directory ("." in this case).
Received on 2010-06-14 03:45:46 CEST