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 <kann...@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 tar...@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