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

Re: Error in abs-path handling in normalize_merge_sources()

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Mon, 30 Nov 2009 11:40:09 -0500

C. Michael Pilato wrote:
> Julian Foad wrote:
>> Julian Foad wrote:
>>> I spotted an error in the conversion to use abs-paths:
>>>
>>> [[[
>>> static svn_error_t *
>>> normalize_merge_sources(apr_array_header_t **merge_sources_p,
>> [...]
>>> SVN_ERR(svn_dirent_get_absolute(&source_abspath, source, pool));
>>> ]]]
>>>
>>> In that last line shown, 'source' can be (and often is) a URL so this is
>>> wrong.
>> I suggest adding
>>
>> SVN_ERR_ASSERT(!svn_path_is_url(relative));
>>
>> inside svn_dirent_get_absolute(), at least for debugging, as we should
>> never be calling it on any path that looks like a URL. When I tried
>> doing that, almost all tests failed, presumably because some universal
>> operation is calling it on a URL.
>>
>> I'm not planning to tackle this.
>
> The 'source' parameter to normalize_merge_sources is fully expected to be
> either a working copy path or a URL. (That there is a second parameter
> 'source_url' whose may be identical to 'source's could be misleading to
> you.) At any rate, the normalize_merge_sources code should be smarter in
> the way it handles 'source', to be sure.

Added some related comments in r885486.

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2425558
Please start new threads on the <dev_at_subversion.apache.org> mailing list.
To subscribe to the new list, send an empty e-mail to <dev-subscribe_at_subversion.apache.org>.

Received on 2009-11-30 17:40:39 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.