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

Re: [PATCH v2] Replace svn_path_join() in libsvn_client/mergeinfo.c

From: Daniel Näslund <daniel_at_longitudo.com>
Date: Tue, 10 Nov 2009 13:44:16 +0100

On Tue, Nov 10, 2009 at 12:37:10PM +0000, Julian Foad wrote:
> On Sat, 2009-11-07, Daniel Näslund wrote:
> > On Fri, Nov 06, 2009 at 01:57:51PM -0800, Daniel Rall wrote:
> > > On Fri, Nov 6, 2009 at 10:39 AM, Daniel Näslund <daniel_at_longitudo.com> wrote:
> >
> > New log:
> >
> > [[[
> > Remove use of deprecated svn_path_join().
> >
> > * subversion/libsvn_client/mergeinfo.c
> > (svn_client__adjust_mergeinfo_source_paths): Replace svn_path_join()
> > with svn_uri_join(). An svn_mergeinfo_t key is the "base" parameter.
> > (svn_client__get_wc_mergeinfo): Replace svn_path_join() with
> > svn_relpath_join(). The "base" parameter is created with a relative
> > path from svn_dirent_dirname().
> > (svn_client_mergeinfo_get_merged): Replace svn_path_join() with
> > svn_uri_join(). target_repos_root is the "base" parameter.
> >
> > Patch by: Daniel Näslund <daniel_at_longitudo.com>
> > Suggested by: dlr
> > ]]]
> >
> > > > Some background: In subversion/include/svn_mergeinfo.h svn_mergeinfo_t
> > > > is just a typedef for a apr_hash_t. The keys are described like this:
> > > >
> > > > * (c) @c svn_mergeinfo_t, called "mergeinfo". A hash mapping merge
> > > > * source paths (@c const char *, starting with slashes) to
> > > > * non-empty rangelist arrays. A @c NULL hash is used to represent
> > > > * no mergeinfo and an empty hash is used to represent empty
> > > > * mergeinfo.
> > > >
> > > > I'm assuming that means a dirent.
> > >
> > > It's a path fragment. In this case, the path is relative to the
> > > repository root. While you may be able to use it as a local file
> > > system path in some situations, it's really a URL fragment.
>
> It is not _really_ a URL fragment, it is a path fragment that
> _represents_ a URL fragment.

> > What I'm saying is that if repository-absolute means that it's an uri
> > (generalization of url) then it should be uri-encoded, right?
>
> No. When we call it a "repository-relative path" or a
> "repository-absolute path" (both meaning the same thing) we mean it is a
> plain path with no URI encoding.

Ok. It's not uri encoded. No need since it's only used internally. But
we still call it an uri since it's part of an url. If that's the case
then this patch is ready.

/Daniel

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2416129
Received on 2009-11-10 13:44:37 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.