Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/mod_dav_svn/reports/update.c view on Meta::CPAN
"A failure occurred while "
"recording one of the items of "
"working copy state.",
resource->pool);
goto cleanup;
}
/* get cdata, stripping whitespace */
path = dav_xml_get_cdata(child, subpool, 0);
/* determine the "from rev" for revision range ops */
if (strcmp(path, "") == 0)
from_revnum = rev;
if (! linkpath)
serr = svn_repos_set_path3(rbaton, path, rev, depth,
start_empty, locktoken, subpool);
else
serr = svn_repos_link_path3(rbaton, path, linkpath, rev, depth,
start_empty, locktoken, subpool);
if (serr != NULL)
{
derr = dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
"A failure occurred while "
"recording one of the items of "
"working copy state.",
resource->pool);
goto cleanup;
}
/* now, add this path to our path map, but only if we are
doing a regular update (not a `switch') */
if (linkpath && (! dst_path))
{
const char *this_path;
if (! uc.pathmap)
uc.pathmap = apr_hash_make(resource->pool);
this_path = svn_fspath__join(src_path, target, resource->pool);
this_path = svn_fspath__join(this_path, path, resource->pool);
add_to_path_map(uc.pathmap, this_path, linkpath);
}
}
else if (strcmp(child->name, "missing") == 0)
{
/* get cdata, stripping whitespace */
const char *path = dav_xml_get_cdata(child, subpool, 0);
serr = svn_repos_delete_path(rbaton, path, subpool);
if (serr != NULL)
{
derr = dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
"A failure occurred while "
"recording one of the (missing) "
"items of working copy state.",
resource->pool);
goto cleanup;
}
}
}
/* Try to deduce what sort of client command is being run, then
make this guess available to apache's logging subsystem. */
{
const char *action, *spath;
if (target)
spath = svn_fspath__join(src_path, target, resource->pool);
else
spath = src_path;
/* If a second path was passed to svn_repos_dir_delta2(), then it
must have been switch, diff, or merge. */
if (dst_path)
{
/* diff/merge don't ask for inline text-deltas. */
if (uc.send_all)
action = svn_log__switch(spath, dst_path, revnum,
requested_depth, resource->pool);
else
action = svn_log__diff(spath, from_revnum, dst_path, revnum,
requested_depth, ignore_ancestry,
resource->pool);
}
/* Otherwise, it must be checkout, export, update, or status -u. */
else
{
/* svn_client_checkout() creates a single root directory, then
reports it (and it alone) to the server as being empty. */
if (entry_counter == 1 && entry_is_empty)
action = svn_log__checkout(spath, revnum, requested_depth,
resource->pool);
else
{
if (text_deltas)
action = svn_log__update(spath, revnum, requested_depth,
send_copyfrom_args,
resource->pool);
else
action = svn_log__status(spath, revnum, requested_depth,
resource->pool);
}
}
dav_svn__operational_log(resource->info, action);
}
/* this will complete the report, and then drive our editor to generate
the response to the client. */
serr = svn_repos_finish_report(rbaton, resource->pool);
/* Whether svn_repos_finish_report returns an error or not we can no
longer abort this report as the file has been closed. */
rbaton = NULL;
if (serr)
{
derr = dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
"A failure occurred while "
"driving the update report editor",
resource->pool);
goto cleanup;
( run in 1.105 second using v1.01-cache-2.11-cpan-63c85eba8c4 )