[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: Julian Foad <julian.foad_at_wandisco.com>
Date: Fri, 04 Dec 2009 13:46:38 +0000

On Wed, 2009-12-02, Kannan wrote:
> The patch attached herewith fixes the way urls are handled with
> dirents in `svn merge'.
>
> [[[
> Log:
> Make `svn merge' treat urls gracefully, by checking the type of the
> path obtained and invoking `svn_dirent_get_absolute()' only if its a wc
> path.
>
> * subversion/libsvn_client/merge.c
> (normalize_merge_sources): As above and rename the variable
> `source_abspath' to `source_abspath_or_url' as it holds either a wc
> abs-path or a url.
>
> * subversion/libsvn_client/ra.c
> (svn_client__repos_locations): As above.
>
> Found by: julianf
> me
> Patch by: Kannan R <kannanr_at_collab.net>
> ]]]
>
> BTW, the FIXME can be removed if the above patch is ok?

Thanks. I removed the FIXME comment, adjusted the code in 'ra.c', and
made the same kind of change also in 'blame.c', and committed the result
as r887187.

After those fixes, if I assert "!svn_path_is_url(relative)" in
svn_dirent_get_absolute(), now I get only the following few test
failures:

FAIL: log_tests.py 2: 'svn log' on an empty repository
FAIL: log_tests.py 6: 'svn log', with args, top of wc
FAIL: log_tests.py 8: 'svn log target_at_N' when target removed from HEAD
FAIL: log_tests.py 9: 'svn log TGT' with copyfrom history
FAIL: log_tests.py 10: mod_dav_svn must escape invalid XML control
chars
FAIL: log_tests.py 12: svn log --limit
FAIL: log_tests.py 20: test log -c for a single change
FAIL: log_tests.py 22: test log -c on comma-separated list of changes
FAIL: log_tests.py 25: log --xml escapes non-utf8 data (issue #2866)
FAIL: mergeinfo_tests.py 2: 'mergeinfo' on a path with mergeinfo
FAIL: mergeinfo_tests.py 3: 'mergeinfo' with source selection
FAIL: mergeinfo_tests.py 6: non-inheritable mergeinfo shows as merged
FAIL: mergeinfo_tests.py 7: test svn mergeinfo -R
FAIL: mergeinfo_tests.py 8: svn mergeinfo on pegged working copy target

I think that means there are two more places where this mistake is made:
in 'log.c' and in 'mergeinfo.c'. Would you be willing to fix those, too?

- Julian
Received on 2009-12-04 14:47:12 CET

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