On Tue, 2009-11-10 at 19:34 +0530, Kannan wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> Julian Foad wrote:
> > The value of "fs_path" there comes from
> > svn_client__path_relative_to_root(..., include_leading_slash=TRUE) which
> > says, "Return the path of ABSPATH_OR_URL relative to the repository root
> > (REPOS_ROOT) in REL_PATH (URI-decoded)".
> > The dirent_uri API defines "relpath" as never having a leading slash, so
> > we can't use svn_relpath_join(). The API does not specify whether a
> > "uri" is URI-encoded, so we suppose we can use svn_uri_join().
> > I think that way of using the APIs is not ideal, but it will do for now.
> Thank you for the clarification, Julian.
> >> And for
> >> the other case(from your comments) use svn_dirent_join() as it points
> >> only to local absolute paths, or I'm still not getting you?. But the
> >> 'ls' tests seem to pass for me for the patch I sent, which is odd?
> > Not sure what "other case" you are referring to.
> Sorry for the brevity. Referred to the change to svn_uri_join() in the
> "if" block of the same patch.
--- subversion/libsvn_client/list.c (revision 40358)
+++ subversion/libsvn_client/list.c (working copy)
@@ -86,11 +86,11 @@
- path = svn_path_join(dir, item->key, iterpool);
+ path = svn_relpath_join(dir, item->key, iterpool);
- const char *abs_path = svn_path_join(fs_path, path,
+ const char *abs_path = svn_uri_join(fs_path, path, iterpool);
lock = apr_hash_get(locks, abs_path, APR_HASH_KEY_STRING);
That "if" block? But that's the one we have been talking about, since
Dan Rall asked "Why use svn_uri_join() rather than svn_dirent_join()?"
in this message:
Received on 2009-11-10 15:45:10 CET