[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Fix some deprecation warnings

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 10 Nov 2009 13:46:00 +0000

On Mon, 2009-11-09 at 11:15 +0530, Kannan wrote:
> Hash: SHA1
> Daniel Rall wrote:
> > On Fri, Nov 6, 2009 at 11:08 AM, Branko Čibej <brane_at_xbc.nu> wrote:
> >> Daniel Rall wrote:
> >>> 2) Why use svn_uri_join() rather than svn_dirent_join()?
> >> uri_join is for paths within the versionable filesystem, and URLs to
> >> entities in a repository. dirent_join is for paths in the WC. As I
> >> learned the hard way.
> >
> > Yep yep.
> >
> > The documentation that I cited, plus the fact that we're in
> > libsvn_client here, makes me think that we're referencing local file
> > system paths; doesn't that mean we want svn_dirent_join()? (And maybe
> > that's what you're getting at.)
> Thank you Branko/Daniel, for your comments. DIR entries are relative to
> root of ra session, doesn't that mean we use svn_relpath_join()?

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.

> 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.

- Julian

Received on 2009-11-10 14:46:27 CET

This is an archived mail posted to the Subversion Dev mailing list.