You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/09/27 18:30:37 UTC
svn commit: r1176459 [2/2] - in /subversion/branches/1.7.x: ./
subversion/include/ subversion/include/private/ subversion/libsvn_client/
subversion/libsvn_fs/ subversion/libsvn_fs_base/ subversion/libsvn_fs_fs/
subversion/libsvn_ra/ subversion/libsvn_r...
Modified: subversion/branches/1.7.x/subversion/libsvn_ra_serf/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_serf/mergeinfo.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_serf/mergeinfo.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_serf/mergeinfo.c Tue Sep 27 16:30:36 2011
@@ -61,7 +61,6 @@ typedef struct mergeinfo_context_t {
const apr_array_header_t *paths;
svn_revnum_t revision;
svn_mergeinfo_inheritance_t inherit;
- svn_boolean_t validate_inherited_mergeinfo;
svn_boolean_t include_descendants;
} mergeinfo_context_t;
@@ -206,13 +205,6 @@ create_mergeinfo_body(serf_bucket_t **bk
"yes", alloc);
}
- if (mergeinfo_ctx->validate_inherited_mergeinfo)
- {
- svn_ra_serf__add_tag_buckets(body_bkt, "S:"
- SVN_DAV__VALIDATE_INHERITED,
- "yes", alloc);
- }
-
if (mergeinfo_ctx->paths)
{
int i;
@@ -242,7 +234,6 @@ svn_ra_serf__get_mergeinfo(svn_ra_sessio
const apr_array_header_t *paths,
svn_revnum_t revision,
svn_mergeinfo_inheritance_t inherit,
- svn_boolean_t validate_inherited_mergeinfo,
svn_boolean_t include_descendants,
apr_pool_t *pool)
{
@@ -272,7 +263,6 @@ svn_ra_serf__get_mergeinfo(svn_ra_sessio
mergeinfo_ctx->paths = paths;
mergeinfo_ctx->revision = revision;
mergeinfo_ctx->inherit = inherit;
- mergeinfo_ctx->validate_inherited_mergeinfo = validate_inherited_mergeinfo;
mergeinfo_ctx->include_descendants = include_descendants;
handler = apr_pcalloc(pool, sizeof(*handler));
Modified: subversion/branches/1.7.x/subversion/libsvn_ra_serf/options.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_serf/options.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_serf/options.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_serf/options.c Tue Sep 27 16:30:36 2011
@@ -299,22 +299,13 @@ capabilities_headers_iterator_callback(v
apr_hash_set(orc->session->capabilities, SVN_RA_CAPABILITY_DEPTH,
APR_HASH_KEY_STRING, capability_yes);
}
-
- /* For mergeinfo capabilities, the server doesn't know what repository
- we're referring to, so it can't just say capability_yes. */
if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_MERGEINFO, vals))
{
+ /* The server doesn't know what repository we're referring
+ to, so it can't just say capability_yes. */
apr_hash_set(orc->session->capabilities, SVN_RA_CAPABILITY_MERGEINFO,
APR_HASH_KEY_STRING, capability_server_yes);
}
- if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_MERGEINFO_VALIDATION,
- vals))
- {
- apr_hash_set(orc->session->capabilities,
- SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO,
- APR_HASH_KEY_STRING, capability_server_yes);
- }
-
if (svn_cstring_match_list(SVN_DAV_NS_DAV_SVN_LOG_REVPROPS, vals))
{
apr_hash_set(orc->session->capabilities,
@@ -565,9 +556,7 @@ svn_ra_serf__has_capability(svn_ra_sessi
you change something here, check there as well. */
if (cap_result == capability_server_yes)
{
- if ((strcmp(capability, SVN_RA_CAPABILITY_MERGEINFO) == 0)
- || (strcmp(capability,
- SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO) == 0))
+ if (strcmp(capability, SVN_RA_CAPABILITY_MERGEINFO) == 0)
{
/* Handle mergeinfo specially. Mergeinfo depends on the
repository as well as the server, but the server routine
@@ -580,15 +569,12 @@ svn_ra_serf__has_capability(svn_ra_sessi
support mergeinfo. */
svn_mergeinfo_catalog_t ignored;
svn_error_t *err;
- svn_boolean_t validate_inherited_mergeinfo = FALSE;
apr_array_header_t *paths = apr_array_make(pool, 1,
sizeof(char *));
APR_ARRAY_PUSH(paths, const char *) = "";
err = svn_ra_serf__get_mergeinfo(ra_session, &ignored, paths, 0,
- FALSE,
- validate_inherited_mergeinfo,
- FALSE, pool);
+ FALSE, FALSE, pool);
if (err)
{
@@ -611,14 +597,9 @@ svn_ra_serf__has_capability(svn_ra_sessi
else
cap_result = capability_yes;
- if (strcmp(capability, SVN_RA_CAPABILITY_MERGEINFO) == 0)
apr_hash_set(serf_sess->capabilities,
SVN_RA_CAPABILITY_MERGEINFO, APR_HASH_KEY_STRING,
cap_result);
- else
- apr_hash_set(serf_sess->capabilities,
- SVN_RA_CAPABILITY_VALIDATE_INHERITED_MERGEINFO,
- APR_HASH_KEY_STRING, cap_result);
}
else
{
Modified: subversion/branches/1.7.x/subversion/libsvn_ra_serf/ra_serf.h
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_serf/ra_serf.h?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_serf/ra_serf.h (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_serf/ra_serf.h Tue Sep 27 16:30:36 2011
@@ -1385,7 +1385,6 @@ svn_error_t * svn_ra_serf__get_mergeinfo
const apr_array_header_t *paths,
svn_revnum_t revision,
svn_mergeinfo_inheritance_t inherit,
- svn_boolean_t validate_inherited_mergeinfo,
svn_boolean_t include_descendants,
apr_pool_t *pool);
Modified: subversion/branches/1.7.x/subversion/libsvn_ra_svn/client.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_svn/client.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_svn/client.c Tue Sep 27 16:30:36 2011
@@ -1185,7 +1185,6 @@ static svn_error_t *ra_svn_get_mergeinfo
const apr_array_header_t *paths,
svn_revnum_t revision,
svn_mergeinfo_inheritance_t inherit,
- svn_boolean_t validate_inherited_mergeinfo,
svn_boolean_t include_descendants,
apr_pool_t *pool)
{
@@ -1202,10 +1201,9 @@ static svn_error_t *ra_svn_get_mergeinfo
path = APR_ARRAY_IDX(paths, i, const char *);
SVN_ERR(svn_ra_svn_write_cstring(conn, pool, path));
}
- SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!)(?r)wbb)", revision,
+ SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!)(?r)wb)", revision,
svn_inheritance_to_word(inherit),
- include_descendants,
- validate_inherited_mergeinfo));
+ include_descendants));
SVN_ERR(handle_auth_request(sess_baton, pool));
SVN_ERR(svn_ra_svn_read_cmd_response(conn, pool, "l", &mergeinfo_tuple));
@@ -2466,10 +2464,6 @@ static svn_error_t *ra_svn_has_capabilit
*has = svn_ra_svn_has_capability(sess->conn, SVN_RA_SVN_CAP_DEPTH);
else if (strcmp(capability, SVN_RA_CAPABILITY_MERGEINFO) == 0)
*has = svn_ra_svn_has_capability(sess->conn, SVN_RA_SVN_CAP_MERGEINFO);
- else if (strcmp(capability,
- SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO) == 0)
- *has = svn_ra_svn_has_capability(
- sess->conn, SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO);
else if (strcmp(capability, SVN_RA_CAPABILITY_LOG_REVPROPS) == 0)
*has = svn_ra_svn_has_capability(sess->conn, SVN_RA_SVN_CAP_LOG_REVPROPS);
else if (strcmp(capability, SVN_RA_CAPABILITY_PARTIAL_REPLAY) == 0)
Modified: subversion/branches/1.7.x/subversion/libsvn_ra_svn/protocol
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_ra_svn/protocol?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_ra_svn/protocol (original)
+++ subversion/branches/1.7.x/subversion/libsvn_ra_svn/protocol Tue Sep 27 16:30:36 2011
@@ -202,11 +202,6 @@ capability and C indicates a client capa
[S] atomic-revprops If the server presents this capability, it
supports the change-rev-prop2 command.
See section 3.1.1.
-[S] validate-inherited-mergeinfo If the server presents this capability, it
- understands the optional
- validate-inherited-mergeinfo parameter in
- the get-mergeinfo command. See section
- 3.1.1.
3. Commands
-----------
@@ -330,8 +325,7 @@ second place for auth-request point as n
get-mergeinfo
params: ( ( path:string ... ) [ rev:number ] inherit:word
- descendents:bool
- ? validate-inherited-mergeinfo:bool)
+ descendents:bool)
response: ( ( ( path:string merge-info:string ) ... ) )
New in svn 1.5. If no paths are specified, an empty response is
returned. If rev is not specified, the youngest revision is used.
Modified: subversion/branches/1.7.x/subversion/libsvn_repos/fs-wrap.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_repos/fs-wrap.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_repos/fs-wrap.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_repos/fs-wrap.c Tue Sep 27 16:30:36 2011
@@ -633,16 +633,15 @@ svn_repos_fs_get_locks2(apr_hash_t **loc
svn_error_t *
-svn_repos_fs_get_mergeinfo2(svn_mergeinfo_catalog_t *mergeinfo,
- svn_repos_t *repos,
- const apr_array_header_t *paths,
- svn_revnum_t rev,
- svn_mergeinfo_inheritance_t inherit,
- svn_boolean_t validate_inherited_mergeinfo,
- svn_boolean_t include_descendants,
- svn_repos_authz_func_t authz_read_func,
- void *authz_read_baton,
- apr_pool_t *pool)
+svn_repos_fs_get_mergeinfo(svn_mergeinfo_catalog_t *mergeinfo,
+ svn_repos_t *repos,
+ const apr_array_header_t *paths,
+ svn_revnum_t rev,
+ svn_mergeinfo_inheritance_t inherit,
+ svn_boolean_t include_descendants,
+ svn_repos_authz_func_t authz_read_func,
+ void *authz_read_baton,
+ apr_pool_t *pool)
{
/* Here we cast away 'const', but won't try to write through this pointer
* without first allocating a new array. */
@@ -690,9 +689,8 @@ svn_repos_fs_get_mergeinfo2(svn_mergeinf
the change itself. */
/* ### TODO(reint): ... but how about descendant merged-to paths? */
if (readable_paths->nelts > 0)
- SVN_ERR(svn_fs_get_mergeinfo2(mergeinfo, root, readable_paths, inherit,
- validate_inherited_mergeinfo,
- include_descendants, pool));
+ SVN_ERR(svn_fs_get_mergeinfo(mergeinfo, root, readable_paths, inherit,
+ include_descendants, pool));
else
*mergeinfo = apr_hash_make(pool);
@@ -700,26 +698,6 @@ svn_repos_fs_get_mergeinfo2(svn_mergeinf
return SVN_NO_ERROR;
}
-svn_error_t *
-svn_repos_fs_get_mergeinfo(svn_mergeinfo_catalog_t *mergeinfo,
- svn_repos_t *repos,
- const apr_array_header_t *paths,
- svn_revnum_t rev,
- svn_mergeinfo_inheritance_t inherit,
- svn_boolean_t include_descendants,
- svn_repos_authz_func_t authz_read_func,
- void *authz_read_baton,
- apr_pool_t *pool)
-{
- return svn_error_trace(svn_repos_fs_get_mergeinfo2(mergeinfo, repos,
- paths, rev, inherit,
- FALSE,
- include_descendants,
- authz_read_func,
- authz_read_baton,
- pool));
-}
-
struct pack_notify_baton
{
svn_repos_notify_func_t notify_func;
Modified: subversion/branches/1.7.x/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_repos/log.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_repos/log.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_repos/log.c Tue Sep 27 16:30:36 2011
@@ -663,9 +663,9 @@ fs_mergeinfo_changed(svn_mergeinfo_catal
svn_mergeinfo_catalog_t tmp_catalog;
APR_ARRAY_PUSH(query_paths, const char *) = changed_path;
- SVN_ERR(svn_fs_get_mergeinfo2(&tmp_catalog, root,
- query_paths, svn_mergeinfo_inherited,
- FALSE, FALSE, iterpool));
+ SVN_ERR(svn_fs_get_mergeinfo(&tmp_catalog, root,
+ query_paths, svn_mergeinfo_inherited,
+ FALSE, iterpool));
tmp_mergeinfo = apr_hash_get(tmp_catalog, changed_path,
APR_HASH_KEY_STRING);
if (tmp_mergeinfo)
@@ -682,9 +682,9 @@ fs_mergeinfo_changed(svn_mergeinfo_catal
svn_mergeinfo_catalog_t tmp_catalog;
APR_ARRAY_PUSH(query_paths, const char *) = base_path;
- SVN_ERR(svn_fs_get_mergeinfo2(&tmp_catalog, base_root,
- query_paths, svn_mergeinfo_inherited,
- FALSE, FALSE, iterpool));
+ SVN_ERR(svn_fs_get_mergeinfo(&tmp_catalog, base_root,
+ query_paths, svn_mergeinfo_inherited,
+ FALSE, iterpool));
tmp_mergeinfo = apr_hash_get(tmp_catalog, base_path,
APR_HASH_KEY_STRING);
if (tmp_mergeinfo)
@@ -835,9 +835,8 @@ get_combined_mergeinfo_changes(svn_merge
SVN_ERR(svn_fs_revision_root(&prev_root, fs, prev_rev, iterpool));
query_paths = apr_array_make(iterpool, 1, sizeof(const char *));
APR_ARRAY_PUSH(query_paths, const char *) = prev_path;
- err = svn_fs_get_mergeinfo2(&catalog, prev_root, query_paths,
- svn_mergeinfo_inherited, FALSE, FALSE,
- iterpool);
+ err = svn_fs_get_mergeinfo(&catalog, prev_root, query_paths,
+ svn_mergeinfo_inherited, FALSE, iterpool);
if (err && (err->apr_err == SVN_ERR_FS_NOT_FOUND ||
err->apr_err == SVN_ERR_FS_NOT_DIRECTORY ||
err->apr_err == SVN_ERR_MERGEINFO_PARSE_ERROR))
@@ -852,9 +851,8 @@ get_combined_mergeinfo_changes(svn_merge
/* Fetch the current mergeinfo (as of REV, and including
inherited stuff) for this path. */
APR_ARRAY_IDX(query_paths, 0, const char *) = path;
- SVN_ERR(svn_fs_get_mergeinfo2(&catalog, root, query_paths,
- svn_mergeinfo_inherited, FALSE, FALSE,
- iterpool));
+ SVN_ERR(svn_fs_get_mergeinfo(&catalog, root, query_paths,
+ svn_mergeinfo_inherited, FALSE, iterpool));
mergeinfo = apr_hash_get(catalog, path, APR_HASH_KEY_STRING);
if (!prev_mergeinfo && !mergeinfo)
Modified: subversion/branches/1.7.x/subversion/libsvn_repos/rev_hunt.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/libsvn_repos/rev_hunt.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/libsvn_repos/rev_hunt.c (original)
+++ subversion/branches/1.7.x/subversion/libsvn_repos/rev_hunt.c Tue Sep 27 16:30:36 2011
@@ -997,9 +997,8 @@ get_path_mergeinfo(apr_hash_t **mergeinf
/* We do not need to call svn_repos_fs_get_mergeinfo() (which performs authz)
because we will filter out unreadable revisions in
find_interesting_revision(), above */
- SVN_ERR(svn_fs_get_mergeinfo2(&tmp_catalog, root, paths,
- svn_mergeinfo_inherited, FALSE, FALSE,
- subpool));
+ SVN_ERR(svn_fs_get_mergeinfo(&tmp_catalog, root, paths,
+ svn_mergeinfo_inherited, FALSE, subpool));
*mergeinfo = apr_hash_get(tmp_catalog, path, APR_HASH_KEY_STRING);
if (*mergeinfo)
Modified: subversion/branches/1.7.x/subversion/mod_dav_svn/reports/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/mod_dav_svn/reports/mergeinfo.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/mod_dav_svn/reports/mergeinfo.c (original)
+++ subversion/branches/1.7.x/subversion/mod_dav_svn/reports/mergeinfo.c Tue Sep 27 16:30:36 2011
@@ -52,7 +52,6 @@ dav_svn__get_mergeinfo_report(const dav_
dav_error *derr = NULL;
apr_xml_elem *child;
svn_mergeinfo_catalog_t catalog;
- svn_boolean_t validate_inherited_mergeinfo = FALSE;
svn_boolean_t include_descendants = FALSE;
dav_svn__authz_read_baton arb;
const dav_svn_repos *repos = resource->info->repos;
@@ -108,12 +107,6 @@ dav_svn__get_mergeinfo_report(const dav_
resource->pool);
(*((const char **)(apr_array_push(paths)))) = target;
}
- else if (strcmp(child->name, SVN_DAV__VALIDATE_INHERITED) == 0)
- {
- const char *word = dav_xml_get_cdata(child, resource->pool, 1);
- if (strcmp(word, "yes") == 0)
- validate_inherited_mergeinfo = TRUE;
- }
else if (strcmp(child->name, SVN_DAV__INCLUDE_DESCENDANTS) == 0)
{
const char *word = dav_xml_get_cdata(child, resource->pool, 1);
@@ -132,11 +125,10 @@ dav_svn__get_mergeinfo_report(const dav_
/* Build mergeinfo brigade */
bb = apr_brigade_create(resource->pool, output->c->bucket_alloc);
- serr = svn_repos_fs_get_mergeinfo2(&catalog, repos->repos, paths, rev,
- inherit, validate_inherited_mergeinfo,
- include_descendants,
- dav_svn__authz_read_func(&arb),
- &arb, resource->pool);
+ serr = svn_repos_fs_get_mergeinfo(&catalog, repos->repos, paths, rev,
+ inherit, include_descendants,
+ dav_svn__authz_read_func(&arb),
+ &arb, resource->pool);
if (serr)
{
derr = dav_svn__convert_err(serr, HTTP_BAD_REQUEST, serr->message,
Modified: subversion/branches/1.7.x/subversion/mod_dav_svn/version.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/mod_dav_svn/version.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/mod_dav_svn/version.c (original)
+++ subversion/branches/1.7.x/subversion/mod_dav_svn/version.c Tue Sep 27 16:30:36 2011
@@ -147,8 +147,8 @@ get_vsn_options(apr_pool_t *p, apr_text_
apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_ATOMIC_REVPROPS);
apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_PARTIAL_REPLAY);
/* Mergeinfo is a special case: here we merely say that the server
- * knows how to handle mergeinfo and validate inherited
- * mergeinfo -- whether the repository does too is a separate matter.
+ * knows how to handle mergeinfo -- whether the repository does too
+ * is a separate matter.
*
* Think of it as offering the client an early out: if the server
* can't do merge-tracking, there's no point finding out of the
@@ -159,7 +159,6 @@ get_vsn_options(apr_pool_t *p, apr_text_
* server capability and remain agnostic about the repository).
*/
apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_MERGEINFO);
- apr_text_append(p, phdr, SVN_DAV_NS_DAV_SVN_MERGEINFO_VALIDATION);
/* ### fork-control? */
}
Modified: subversion/branches/1.7.x/subversion/svnserve/serve.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/svnserve/serve.c?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/svnserve/serve.c (original)
+++ subversion/branches/1.7.x/subversion/svnserve/serve.c Tue Sep 27 16:30:36 2011
@@ -1845,17 +1845,12 @@ static svn_error_t *get_mergeinfo(svn_ra
apr_hash_index_t *hi;
const char *inherit_word;
svn_mergeinfo_inheritance_t inherit;
- apr_uint64_t validate_inherited_mergeinfo;
svn_boolean_t include_descendants;
apr_pool_t *iterpool;
- SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)wb?B", &paths, &rev,
- &inherit_word,
- &include_descendants,
- &validate_inherited_mergeinfo));
+ SVN_ERR(svn_ra_svn_parse_tuple(params, pool, "l(?r)wb", &paths, &rev,
+ &inherit_word, &include_descendants));
inherit = svn_inheritance_from_word(inherit_word);
- if (validate_inherited_mergeinfo == SVN_RA_SVN_UNSPECIFIED_NUMBER)
- validate_inherited_mergeinfo = FALSE;
/* Canonicalize the paths which mergeinfo has been requested for. */
canonical_paths = apr_array_make(pool, paths->nelts, sizeof(const char *));
@@ -1878,14 +1873,12 @@ static svn_error_t *get_mergeinfo(svn_ra
pool)));
SVN_ERR(trivial_auth_request(conn, pool, b));
- SVN_CMD_ERR(svn_repos_fs_get_mergeinfo2(&mergeinfo, b->repos,
- canonical_paths, rev,
- inherit,
- (svn_boolean_t)
- validate_inherited_mergeinfo,
- include_descendants,
- authz_check_access_cb_func(b), b,
- pool));
+ SVN_CMD_ERR(svn_repos_fs_get_mergeinfo(&mergeinfo, b->repos,
+ canonical_paths, rev,
+ inherit,
+ include_descendants,
+ authz_check_access_cb_func(b), b,
+ pool));
SVN_ERR(svn_mergeinfo__remove_prefix_from_catalog(&mergeinfo, mergeinfo,
b->fs_path->data, pool));
SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "w((!", "success"));
@@ -3229,12 +3222,7 @@ svn_error_t *serve(svn_ra_svn_conn_t *co
SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "w(cc(!",
"success", uuid, b.repos_url));
if (supports_mergeinfo)
- {
SVN_ERR(svn_ra_svn_write_word(conn, pool, SVN_RA_SVN_CAP_MERGEINFO));
- SVN_ERR(svn_ra_svn_write_word(
- conn, pool, SVN_RA_SVN_CAP_VALIDATE_INHERITED_MERGEINFO));
- }
-
SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "!))"));
}
Modified: subversion/branches/1.7.x/subversion/tests/cmdline/merge_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/1.7.x/subversion/tests/cmdline/merge_tests.py?rev=1176459&r1=1176458&r2=1176459&view=diff
==============================================================================
--- subversion/branches/1.7.x/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/branches/1.7.x/subversion/tests/cmdline/merge_tests.py Tue Sep 27 16:30:36 2011
@@ -9693,7 +9693,7 @@ def new_subtrees_should_not_break_merge(
'D/H/psi' : Item("This is the file 'psi'.\n"),
'D/H/omega' : Item("New content"),
'D/H/nu' : Item("New content",
- props={SVN_PROP_MERGEINFO : '/A/D/H/nu:8'}),
+ props={SVN_PROP_MERGEINFO : '/A/D/H/nu:7-8'}),
})
expected_skip = wc.State(A_COPY_path, { })
svntest.actions.run_and_verify_merge(A_COPY_path, '4', '6',
@@ -9739,7 +9739,7 @@ def new_subtrees_should_not_break_merge(
'H/psi' : Item("This is the file 'psi'.\n"),
'H/omega' : Item("This is the file 'omega'.\n"),
'H/nu' : Item("New content",
- props={SVN_PROP_MERGEINFO : '/A/D/H/nu:8'}),
+ props={SVN_PROP_MERGEINFO : '/A/D/H/nu:7-8'}),
})
expected_skip = wc.State(D_COPY_path, { })
svntest.actions.run_and_verify_merge(D_COPY_path, '6', '5',
@@ -9811,7 +9811,7 @@ def new_subtrees_should_not_break_merge(
'D/H/psi' : Item("This is the file 'psi'.\n"),
'D/H/omega' : Item("New content"),
'D/H/nu' : Item("New content",
- props={SVN_PROP_MERGEINFO : '/A/D/H/nu:8'}),
+ props={SVN_PROP_MERGEINFO : '/A/D/H/nu:7-8'}),
})
expected_skip = wc.State(A_COPY_path, { })
svntest.actions.run_and_verify_merge(A_COPY_path, '5', '6',
@@ -12903,12 +12903,6 @@ def merge_target_and_subtrees_need_nonin
None, expected_merge_output([[8]], ['U ' + nu_COPY_path + '\n',
' G ' + nu_COPY_path + '\n']),
[], 'merge', '-c8', sbox.repo_url + '/A/D/G/nu', nu_COPY_path)
- # Replicate pre 1.7 merge behavior where self-referential mergeinfo
- # could be inherited, this keeps the original intent of this test intact,
- # see http://subversion.tigris.org/issues/show_bug.cgi?id=3669#desc8
- svntest.actions.run_and_verify_svn(None, None, [], 'ps',
- SVN_PROP_MERGEINFO, '/A/D/G/nu:2-8',
- nu_COPY_path)
svntest.actions.run_and_verify_svn(
None, expected_merge_output([[-6]], ['G ' + omega_COPY_path + '\n',
@@ -16261,6 +16255,7 @@ def merge_with_os_deleted_subtrees(sbox)
# mergeinfo' and issue #3669 'inheritance can result in mergeinfo
# describing nonexistent sources'
@Issue(3668)
+@XFail()
def no_self_referential_or_nonexistent_inherited_mergeinfo(sbox):
"don't inherit bogus mergeinfo"
@@ -16321,6 +16316,10 @@ def no_self_referential_or_nonexistent_i
# Update the WC in preparation for merges.
svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
+ # This test is marked as XFail because the following two merges
+ # create mergeinfo with both non-existent path-revs and self-referential
+ # mergeinfo.c
+ #
# Merge all available revisions from A/C/nu to A_COPY/C/nu.
# The target has no explicit mergeinfo of its own but inherits mergeinfo
# from A_COPY. A_COPY has the mergeinfo '/A:2-9' so the naive mergeinfo
@@ -17012,11 +17011,15 @@ def merge_adds_subtree_with_mergeinfo(sb
'B/lambda' : Item("This is the file 'lambda'.\n"),
'B/F' : Item(),
'C' : Item(),
+ # C/nu will pick up the mergeinfo A_COPY/C/nu:8 which is self-referential.
+ # This is issue #3668 'inheritance can result in self-referential
+ # mergeinfo', but we'll allow it in this test since issue #3668 is
+ # tested elsewhere and is not the point of *this* test.
'C/nu' : Item("This is the file 'nu'.\n" \
"More work on the A_COPY branch.\n" \
"A faux conflict resolution.\n",
props={SVN_PROP_MERGEINFO :
- '/A/C/nu:9-11\n/A_COPY/C/nu:10'}),
+ '/A/C/nu:9-11\n/A_COPY/C/nu:8,10'}),
'D' : Item(),
'D/G' : Item(),
'D/G/pi' : Item("This is the file 'pi'.\n"),