Hey,
I think this part is where the difference is produced.
for (j = 0; j < components->nelts; j++)
{
svn_pool_clear(iterpool1);
component = APR_ARRAY_IDX(components, j, const char *);
new_base_dir = svn_dirent_join(new_base_dir, component,
iterpool1);
lock_err = svn_wc_adm_open3(&base_dir_access,
NULL,
new_base_dir,
TRUE, /* Write lock */
-1, /* lock levels */
ctx->cancel_func,
ctx->cancel_baton,
result_pool);
if (lock_err)
{
if (lock_err->apr_err == SVN_ERR_WC_NOT_DIRECTORY
|| lock_err->apr_err == SVN_ERR_WC_LOCKED)
svn_error_clear(lock_err);
else
{
error_happened = TRUE;
break;
}
}
else
{
And here is the most possible error happening place.
[[[
check_err = svn_wc_adm_probe_retrieve(&adm_access,
base_dir_access,
target,
iterpool1);
if (! check_err)
{
rel_target = svn_dirent_is_child(new_base_dir, target,
iterpool);
]]]
It should step into this if phase and then break.
if (rel_target == NULL)
rel_target = "";
commit_packet = create_commit_packet
(apr_pstrdup(result_pool, new_base_dir),
apr_pstrdup(result_pool, rel_target),
base_dir_access, result_pool);
APR_ARRAY_PUSH(*commit_packets, commit_packet_t *)
= commit_packet;
break;
}
svn_error_clear(check_err);
SVN_ERR(svn_wc_adm_close2(base_dir_access, iterpool1));
}
}
So can you help me to find out why it does not come into above if phase?
Thank you.
Huihuang
------------------
yellow.flying
2009-07-17
__________________________________________________
赶快注册雅虎超大容量免费邮箱?
http://cn.mail.yahoo.com
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2372027
Received on 2009-07-17 13:23:04 CEST