Julian Foad wrote:
>
> If you can't spend much time on it, putting a breakpoint there and
> showing us the call stack might be useful. Otherwise, a reproduction
> script to create a small repository that exhibits the problem would
> definitely be useful, as we could turn that into a regression test.
>
It looks like Fyodor Sheremetyev was able to create a repro script...
here's the call stack:
> svn.exe!parse_url(ne_uri * uri=0x0000000001e4a220, const char *
url=0x0000000002060e40) Line 952 C
svn.exe!svn_ra_neon__reparent(svn_ra_session_t *
session=0x0000000001e23130, const char * url=0x0000000002060e40,
apr_pool_t * pool=0x00000000020374f8) Line 1269 + 0x12 bytes C
svn.exe!svn_ra_reparent(svn_ra_session_t *
session=0x0000000001e23130, const char * url=0x0000000002060e40,
apr_pool_t * pool=0x00000000020374f8) Line 548 C
svn.exe!svn_client__ensure_ra_session_url(const char * *
old_session_url=0x000000000012ecf8, svn_ra_session_t *
ra_session=0x0000000001e23130, const char *
session_url=0x0000000002060e40, apr_pool_t * pool=0x00000000020374f8)
Line 509 + 0x14 bytes C
svn.exe!get_mergeinfo_walk_cb(const char * path=0x0000000002037568,
const svn_wc_entry_t * entry=0x0000000001ee8508, void *
walk_baton=0x000000000012f200, apr_pool_t * pool=0x00000000020374f8)
Line 3398 + 0x29 bytes C
svn.exe!walker_helper(const char * dirpath=0x0000000002037568,
svn_wc_adm_access_t * adm_access=0x0000000001ee83c8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x00000000020374f8) Line 2881 + 0x27 bytes C
svn.exe!walker_helper(const char * dirpath=0x0000000001e51d18,
svn_wc_adm_access_t * adm_access=0x0000000001e17da8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e51ca8) Line 2938 + 0x5f bytes C
svn.exe!walker_helper(const char * dirpath=0x0000000001e26a08,
svn_wc_adm_access_t * adm_access=0x0000000001e17910, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e26998) Line 2938 + 0x5f bytes C
svn.exe!walker_helper(const char * dirpath=0x0000000140320500,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e228b8) Line 2938 + 0x5f bytes C
svn.exe!svn_wc_walk_entries3(const char * path=0x0000000140320500,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, const
svn_wc_entry_callbacks2_t * walk_callbacks=0x0000000140256300, void *
walk_baton=0x000000000012f200, svn_depth_t depth=svn_depth_infinity, int
show_hidden=1, svn_error_t * (void *)* cancel_func=0x000000014000adf0,
void * cancel_baton=0x0000000000000000, apr_pool_t *
pool=0x0000000001e228b8) Line 3016 + 0x5c bytes C
svn.exe!get_mergeinfo_paths(apr_array_header_t *
children_with_mergeinfo=0x0000000001e24770, merge_cmd_baton_t *
merge_cmd_baton=0x000000000012f6a0, const char *
merge_src_canon_path=0x0000000001e3dc70, const svn_wc_entry_t *
entry=0x0000000001e34c08, const char *
source_root_url=0x0000000001e3dc08, const char *
url1=0x0000000001e62798, const char * url2=0x0000000001e627f8, long
revision1=21595, long revision2=21596, svn_ra_session_t *
ra_session=0x0000000001e23130, svn_wc_adm_access_t *
adm_access=0x0000000001e34af8, svn_client_ctx_t *
ctx=0x0000000001dfcf40, svn_depth_t depth=svn_depth_infinity, apr_pool_t
* pool=0x0000000001e228b8) Line 3802 + 0x6f bytes C
svn.exe!do_directory_merge(const char * url1=0x0000000001e62798,
long revision1=21595, const char * url2=0x0000000001e627f8, long
revision2=21596, const svn_wc_entry_t * parent_entry=0x0000000001e34c08,
svn_wc_adm_access_t * adm_access=0x0000000001e34af8, svn_depth_t
depth=svn_depth_infinity, notification_receiver_baton_t *
notify_b=0x000000000012f740, merge_cmd_baton_t *
merge_b=0x000000000012f6a0, apr_pool_t * pool=0x0000000001e228b8) Line
4923 + 0xa2 bytes C
svn.exe!do_merge(apr_array_header_t *
merge_sources=0x0000000001e61548, const char *
target=0x0000000140320500, const svn_wc_entry_t *
target_entry=0x0000000001e34c08, svn_wc_adm_access_t *
adm_access=0x0000000001e34af8, int sources_ancestral=1, int
sources_related=1, int same_repos=1, int ignore_ancestry=0, int force=0,
int dry_run=0, int record_only=0, svn_depth_t depth=svn_depth_infinity,
const apr_array_header_t * merge_options=0x0000000000000000,
svn_client_ctx_t * ctx=0x0000000001dfcf40, apr_pool_t *
pool=0x0000000001dfc378) Line 5522 + 0x6d bytes C
svn.exe!svn_client_merge_peg3(const char *
source=0x0000000001e17558, const apr_array_header_t *
ranges_to_merge=0x0000000001dfc598, const svn_opt_revision_t *
peg_revision=0x000000000012f9d8, const char *
target_wcpath=0x0000000140320500, svn_depth_t depth=-2, int
ignore_ancestry=0, int force=0, int record_only=0, int dry_run=0, const
apr_array_header_t * merge_options=0x0000000000000000, svn_client_ctx_t
* ctx=0x0000000001dfcf40, apr_pool_t * pool=0x0000000001dfc378) Line
6468 + 0xcf bytes C
svn.exe!svn_cl__merge(apr_getopt_t * os=0x0000000001dfc5c0, void *
baton=0x000000000012fcd8, apr_pool_t * pool=0x0000000001dfc378) Line
318 + 0x8e bytes C
svn.exe!main(int argc=5, const char * * argv=0x000000000045ad10)
Line 2018 + 0x23 bytes C
svn.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C
svn.exe!mainCRTStartup() Line 403 C
kernel32.dll!0000000077d5964c()
[Frames below may be incorrect and/or missing, no symbols loaded
for kernel32.dll]
It looks like the URL with the spaces is being generated by
get_mergeinfo_walk_cb():
const char *mergeinfo_url =
svn_path_join(wb->source_root_url,
/* Skip leading '/' or join won't work. */
++(merge_src_child_path->data),
pool);
wb->source_root_url = 0x0000000001e3dc08 "https://dev.alterity.com/svn"
merge_src_child_path->data = 0x0000000002060b91
"ACCTivate/Installers/Projects/ACCTivate CIMS Cumulative Update"
Hopefully that gives some hints as to what the problem is :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-28 22:48:02 CEST