You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/05/28 14:24:06 UTC
svn commit: r1597989 [2/2] - in /subversion/trunk: ./ subversion/include/
subversion/libsvn_client/ subversion/libsvn_fs/ subversion/libsvn_fs_base/
subversion/libsvn_fs_fs/ subversion/libsvn_fs_x/ subversion/libsvn_ra/
subversion/libsvn_ra_local/ subv...
Modified: subversion/trunk/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/log.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/log.c (original)
+++ subversion/trunk/subversion/libsvn_repos/log.c Wed May 28 12:24:05 2014
@@ -104,8 +104,6 @@ svn_repos_check_revision_access(svn_repo
{
case svn_fs_path_change_add:
case svn_fs_path_change_replace:
- case svn_fs_path_change_move:
- case svn_fs_path_change_movereplace:
{
const char *copyfrom_path;
svn_revnum_t copyfrom_rev;
@@ -153,136 +151,6 @@ svn_repos_check_revision_access(svn_repo
return SVN_NO_ERROR;
}
-/* Return TRUE, if CHANGE deleted the node previously found at its target
- path. */
-static svn_boolean_t
-is_deletion(svn_log_changed_path2_t *change)
-{
- /* We need a 'N' action here ... */
- return change->action == 'E'
- || change->action == 'R'
- || change->action == 'D';
-}
-
-/* Change all moves in CHANGES to ADD. Use POOL for temporary allocations.
- */
-static void
-turn_moves_into_copies(apr_hash_t *changes,
- apr_pool_t *pool)
-{
- apr_hash_index_t *hi;
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- svn_log_changed_path2_t *change = svn__apr_hash_index_val(hi);
-
- switch (change->action)
- {
- case 'V':
- change->action = 'A';
- break;
-
- case 'E':
- change->action = 'R';
- break;
-
- default:
- break;
- }
- }
-}
-
-/* Replace ADDs with MOVes, if they are unique, have a matching deletion
- * and if the copy-from revision is REVISION-1. Use POOL for temporary
- * allocations.
- */
-static void
-turn_unique_copies_into_moves(apr_hash_t *changes,
- svn_revnum_t revision,
- apr_pool_t *pool)
-{
- apr_hash_index_t *hi;
- apr_hash_t *unique_copy_sources;
- const char **sources;
- int i;
-
- /* find all copy-from paths (ADD and MOV alike) */
-
- svn_boolean_t any_deletion = FALSE;
- apr_array_header_t *copy_sources
- = apr_array_make(pool, apr_hash_count(changes), sizeof(const char*));
-
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- svn_log_changed_path2_t *change = svn__apr_hash_index_val(hi);
-
- if (change->copyfrom_path && change->copyfrom_rev == revision-1)
- APR_ARRAY_PUSH(copy_sources, const char *)
- = change->copyfrom_path;
-
- any_deletion |= is_deletion(change);
- }
-
- /* no suitable copy-from or no deletion -> no moves */
-
- if (!copy_sources->nelts || !any_deletion)
- return;
-
- /* identify copy-from paths that have been mentioned exactly once */
- svn_sort__array(copy_sources, svn_sort_compare_paths);
-
- unique_copy_sources = apr_hash_make(pool);
- sources = (const char **)copy_sources->elts;
- for (i = 0; i < copy_sources->nelts; ++i)
- if ( (i == 0 || strcmp(sources[i-1], sources[i]))
- && (i == copy_sources->nelts-1 || strcmp(sources[i+1], sources[i])))
- {
- svn_hash_sets(unique_copy_sources, sources[i], sources[i]);
- }
-
- /* no unique copy-from paths -> no moves */
-
- if (!apr_hash_count(unique_copy_sources))
- return;
-
- /* Replace all additions, replacements with a unique copy-from path,
- the correct copy-from rev and a matching deletion in this revision,
- with moves and move-replacements, respectively. */
-
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- svn_log_changed_path2_t *change = svn__apr_hash_index_val(hi);
- svn_log_changed_path2_t *copy_from_change;
-
- if ( change->copyfrom_rev != revision-1
- || !change->copyfrom_path
- || !svn_hash_gets(unique_copy_sources, change->copyfrom_path))
- continue;
-
- copy_from_change = svn_hash_gets(changes, change->copyfrom_path);
- if (!copy_from_change || !is_deletion(copy_from_change))
- continue;
-
- /* There is a deletion of the ADD's copy-from path in *REVISION*.
- This can either be the same as in REVISION-1 (o.k.) or must have
- been replaced by some other node. However, that would imply that
- it still got deleted as part of the replacement, i.e. both cases
- are o.k. */
-
- switch (change->action)
- {
- case 'A':
- change->action = 'V';
- break;
-
- case 'R':
- change->action = 'E';
- break;
-
- default:
- break;
- }
- }
-}
/* Store as keys in CHANGED the paths of all node in ROOT that show a
* significant change. "Significant" means that the text or
@@ -294,8 +162,7 @@ turn_unique_copies_into_moves(apr_hash_t
*
* To prevent changes from being processed over and over again, the
* changed paths for ROOT may be passed in PREFETCHED_CHANGES. If the
- * latter is NULL, we will request the list inside this function using
- * the specified MOVE_BEHAVIOR.
+ * latter is NULL, we will request the list inside this function.
*
* If optional AUTHZ_READ_FUNC is non-NULL, then use it (with
* AUTHZ_READ_BATON and FS) to check whether each changed-path (and
@@ -316,7 +183,6 @@ detect_changed(apr_hash_t **changed,
svn_fs_root_t *root,
svn_fs_t *fs,
apr_hash_t *prefetched_changes,
- svn_move_behavior_t move_behavior,
svn_repos_authz_func_t authz_read_func,
void *authz_read_baton,
apr_pool_t *pool)
@@ -385,14 +251,6 @@ detect_changed(apr_hash_t **changed,
action = 'D';
break;
- case svn_fs_path_change_move:
- action = 'V';
- break;
-
- case svn_fs_path_change_movereplace:
- action = 'E';
- break;
-
case svn_fs_path_change_modify:
default:
action = 'M';
@@ -497,23 +355,6 @@ detect_changed(apr_hash_t **changed,
return svn_error_create(SVN_ERR_AUTHZ_UNREADABLE,
NULL, NULL);
- /* at least some paths are readable. Post-process them. */
- switch(move_behavior)
- {
- case svn_move_behavior_no_moves:
- turn_moves_into_copies(*changed, pool);
- break;
-
- case svn_move_behavior_auto_moves:
- turn_unique_copies_into_moves(*changed,
- svn_fs_revision_root_revision(root),
- pool);
- break;
-
- default:
- break;
- }
-
if (found_unreadable)
/* At least one changed-path was unreadable. */
return svn_error_create(SVN_ERR_AUTHZ_PARTIALLY_READABLE,
@@ -777,8 +618,6 @@ fs_mergeinfo_changed(svn_mergeinfo_catal
{
case svn_fs_path_change_add:
case svn_fs_path_change_replace:
- case svn_fs_path_change_move:
- case svn_fs_path_change_movereplace:
any_copy = TRUE;
break;
@@ -869,8 +708,6 @@ fs_mergeinfo_changed(svn_mergeinfo_catal
BASE_REV/BASE_PATH = -1/NULL. */
case svn_fs_path_change_add:
case svn_fs_path_change_replace:
- case svn_fs_path_change_move:
- case svn_fs_path_change_movereplace:
{
if (change->copyfrom_known)
{
@@ -1213,7 +1050,6 @@ fill_log_entry(svn_log_entry_t *log_entr
svn_fs_t *fs,
apr_hash_t *prefetched_changes,
svn_boolean_t discover_changed_paths,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_repos_authz_func_t authz_read_func,
void *authz_read_baton,
@@ -1232,7 +1068,7 @@ fill_log_entry(svn_log_entry_t *log_entr
SVN_ERR(svn_fs_revision_root(&newroot, fs, rev, pool));
patherr = detect_changed(&changed_paths,
- newroot, fs, prefetched_changes, move_behavior,
+ newroot, fs, prefetched_changes,
authz_read_func, authz_read_baton,
pool);
@@ -1349,8 +1185,8 @@ fill_log_entry(svn_log_entry_t *log_entr
only the revision properties named by the (const char *) array elements
(i.e. retrieve none if the array is empty).
- LOG_TARGET_HISTORY_AS_MERGEINFO, HANDLING_MERGED_REVISION, MOVE_BEHAVIOR,
- and NESTED_MERGES are as per the arguments of the same name to DO_LOGS.
+ LOG_TARGET_HISTORY_AS_MERGEINFO, HANDLING_MERGED_REVISION, and
+ NESTED_MERGES are as per the arguments of the same name to DO_LOGS.
If HANDLING_MERGED_REVISION is true and *all* changed paths within REV are
already represented in LOG_TARGET_HISTORY_AS_MERGEINFO, then don't send
the log message for REV. If SUBTRACTIVE_MERGE is true, then REV was
@@ -1369,7 +1205,6 @@ send_log(svn_revnum_t rev,
svn_boolean_t discover_changed_paths,
svn_boolean_t subtractive_merge,
svn_boolean_t handling_merged_revision,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_boolean_t has_children,
svn_log_entry_receiver_t receiver,
@@ -1385,8 +1220,7 @@ send_log(svn_revnum_t rev,
log_entry = svn_log_entry_create(pool);
SVN_ERR(fill_log_entry(log_entry, rev, fs, prefetched_changes,
discover_changed_paths || handling_merged_revision,
- move_behavior, revprops,
- authz_read_func, authz_read_baton, pool));
+ revprops, authz_read_func, authz_read_baton, pool));
log_entry->has_children = has_children;
log_entry->subtractive_merge = subtractive_merge;
@@ -1840,7 +1674,6 @@ do_logs(svn_fs_t *fs,
svn_boolean_t handling_merged_revisions,
svn_boolean_t subtractive_merge,
svn_boolean_t ignore_missing_locations,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_boolean_t descending_order,
svn_log_entry_receiver_t receiver,
@@ -1890,7 +1723,6 @@ handle_merged_revisions(svn_revnum_t rev
svn_mergeinfo_t deleted_mergeinfo,
svn_boolean_t discover_changed_paths,
svn_boolean_t strict_node_history,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_log_entry_receiver_t receiver,
void *receiver_baton,
@@ -1932,7 +1764,7 @@ handle_merged_revisions(svn_revnum_t rev
pl_range->range.start, pl_range->range.end, 0,
discover_changed_paths, strict_node_history,
TRUE, pl_range->reverse_merge, TRUE, TRUE,
- move_behavior, revprops, TRUE, receiver, receiver_baton,
+ revprops, TRUE, receiver, receiver_baton,
authz_read_func, authz_read_baton, iterpool));
}
svn_pool_destroy(iterpool);
@@ -2066,9 +1898,6 @@ store_search(svn_mergeinfo_t processed,
If IGNORE_MISSING_LOCATIONS is set, don't treat requests for bogus
repository locations as fatal -- just ignore them.
- MOVE_BEHAVIOR is a simple pass-through parameter that tells the FS
- layer which changes to report as moves instead of additions.
-
If LOG_TARGET_HISTORY_AS_MERGEINFO is not NULL then it contains mergeinfo
representing the history of PATHS between HIST_START and HIST_END.
@@ -2106,7 +1935,6 @@ do_logs(svn_fs_t *fs,
svn_boolean_t subtractive_merge,
svn_boolean_t handling_merged_revisions,
svn_boolean_t ignore_missing_locations,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_boolean_t descending_order,
svn_log_entry_receiver_t receiver,
@@ -2222,7 +2050,7 @@ do_logs(svn_fs_t *fs,
log_target_history_as_mergeinfo, nested_merges,
discover_changed_paths,
subtractive_merge, handling_merged_revisions,
- move_behavior, revprops, has_children,
+ revprops, has_children,
receiver, receiver_baton,
authz_read_func, authz_read_baton, iterpool));
@@ -2245,7 +2073,6 @@ do_logs(svn_fs_t *fs,
added_mergeinfo, deleted_mergeinfo,
discover_changed_paths,
strict_node_history,
- move_behavior,
revprops,
receiver, receiver_baton,
authz_read_func,
@@ -2327,7 +2154,7 @@ do_logs(svn_fs_t *fs,
SVN_ERR(send_log(current, fs, NULL,
log_target_history_as_mergeinfo, nested_merges,
discover_changed_paths, subtractive_merge,
- handling_merged_revisions, move_behavior,
+ handling_merged_revisions,
revprops, has_children,
receiver, receiver_baton, authz_read_func,
authz_read_baton, iterpool));
@@ -2347,7 +2174,7 @@ do_logs(svn_fs_t *fs,
deleted_mergeinfo,
discover_changed_paths,
strict_node_history,
- move_behavior, revprops,
+ revprops,
receiver, receiver_baton,
authz_read_func,
authz_read_baton,
@@ -2449,7 +2276,7 @@ get_paths_history_as_mergeinfo(svn_merge
}
svn_error_t *
-svn_repos_get_logs5(svn_repos_t *repos,
+svn_repos_get_logs4(svn_repos_t *repos,
const apr_array_header_t *paths,
svn_revnum_t start,
svn_revnum_t end,
@@ -2457,7 +2284,6 @@ svn_repos_get_logs5(svn_repos_t *repos,
svn_boolean_t discover_changed_paths,
svn_boolean_t strict_node_history,
svn_boolean_t include_merged_revisions,
- svn_move_behavior_t move_behavior,
const apr_array_header_t *revprops,
svn_repos_authz_func_t authz_read_func,
void *authz_read_baton,
@@ -2566,9 +2392,8 @@ svn_repos_get_logs5(svn_repos_t *repos,
rev = start + i;
SVN_ERR(send_log(rev, fs, NULL, NULL, NULL,
discover_changed_paths, FALSE,
- FALSE, move_behavior, revprops, FALSE, receiver,
- receiver_baton, authz_read_func,
- authz_read_baton, iterpool));
+ FALSE, revprops, FALSE, receiver, receiver_baton,
+ authz_read_func, authz_read_baton, iterpool));
}
svn_pool_destroy(iterpool);
@@ -2595,7 +2420,6 @@ svn_repos_get_logs5(svn_repos_t *repos,
return do_logs(repos->fs, paths, paths_history_mergeinfo, NULL, NULL, start, end,
limit, discover_changed_paths, strict_node_history,
include_merged_revisions, FALSE, FALSE, FALSE,
- move_behavior, revprops,
- descending_order, receiver, receiver_baton,
+ revprops, descending_order, receiver, receiver_baton,
authz_read_func, authz_read_baton, pool);
}
Modified: subversion/trunk/subversion/libsvn_subr/types.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/types.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/types.c (original)
+++ subversion/trunk/subversion/libsvn_subr/types.c Wed May 28 12:24:05 2014
@@ -350,39 +350,3 @@ svn_location_segment_dup(const svn_locat
new_segment->path = apr_pstrdup(pool, segment->path);
return new_segment;
}
-
-const char *
-svn_move_behavior_to_word(svn_move_behavior_t value)
-{
- switch (value)
- {
- case svn_move_behavior_no_moves:
- return "none";
- case svn_move_behavior_explicit_moves:
- return "explicit";
- case svn_move_behavior_auto_moves:
- return "auto";
- default:
- return "INVALID-MOVE-BEHAVIOR";
- }
-}
-
-svn_move_behavior_t
-svn_move_behavior_from_word(const char *word)
-{
- if (word)
- {
- if (strcmp(word, "none") == 0)
- return svn_move_behavior_no_moves;
- if (strcmp(word, "explicit") == 0)
- return svn_move_behavior_explicit_moves;
- if (strcmp(word, "auto") == 0)
- return svn_move_behavior_auto_moves;
- }
-
- /* There's no special value for invalid move behavior, and no convincing
- reason to make one yet, so just fall back to "explicit moves only",
- i.e. no conversion either way.
- */
- return svn_move_behavior_explicit_moves;
-}
Modified: subversion/trunk/subversion/mod_dav_svn/reports/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_dav_svn/reports/log.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/mod_dav_svn/reports/log.c (original)
+++ subversion/trunk/subversion/mod_dav_svn/reports/log.c Wed May 28 12:24:05 2014
@@ -315,9 +315,7 @@ dav_svn__log_report(const dav_resource *
svn_boolean_t discover_changed_paths = FALSE; /* off by default */
svn_boolean_t strict_node_history = FALSE; /* off by default */
svn_boolean_t include_merged_revisions = FALSE; /* off by default */
- svn_move_behavior_t move_behavior = svn_move_behavior_no_moves;
- /* no moves by default */
-
+
apr_array_header_t *revprops = apr_array_make(resource->pool, 3,
sizeof(const char *));
apr_array_header_t *paths
@@ -444,7 +442,7 @@ dav_svn__log_report(const dav_resource *
flag in our log_receiver_baton structure). */
/* Send zero or more log items. */
- serr = svn_repos_get_logs5(repos->repos,
+ serr = svn_repos_get_logs4(repos->repos,
paths,
start,
end,
@@ -452,7 +450,6 @@ dav_svn__log_report(const dav_resource *
discover_changed_paths,
strict_node_history,
include_merged_revisions,
- move_behavior,
revprops,
dav_svn__authz_read_func(&arb),
&arb,
Modified: subversion/trunk/subversion/svn/log-cmd.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svn/log-cmd.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/svn/log-cmd.c (original)
+++ subversion/trunk/subversion/svn/log-cmd.c Wed May 28 12:24:05 2014
@@ -680,9 +680,6 @@ svn_cl__log(apr_getopt_t *os,
const char *target;
int i;
apr_array_header_t *revprops;
- svn_move_behavior_t move_behavior = opt_state->auto_moves
- ? svn_move_behavior_auto_moves
- : svn_move_behavior_explicit_moves;
if (!opt_state->xml)
{
@@ -833,14 +830,13 @@ svn_cl__log(apr_getopt_t *os,
if (!opt_state->quiet)
APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_LOG;
}
- SVN_ERR(svn_client_log6(targets,
+ SVN_ERR(svn_client_log5(targets,
&lb.target_peg_revision,
opt_state->revision_ranges,
opt_state->limit,
opt_state->verbose,
opt_state->stop_on_copy,
opt_state->use_merge_history,
- move_behavior,
revprops,
svn_cl__log_entry_receiver_xml,
&lb,
@@ -857,14 +853,13 @@ svn_cl__log(apr_getopt_t *os,
APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_DATE;
if (!opt_state->quiet)
APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_LOG;
- SVN_ERR(svn_client_log6(targets,
+ SVN_ERR(svn_client_log5(targets,
&lb.target_peg_revision,
opt_state->revision_ranges,
opt_state->limit,
opt_state->verbose,
opt_state->stop_on_copy,
opt_state->use_merge_history,
- move_behavior,
revprops,
svn_cl__log_entry_receiver,
&lb,
Modified: subversion/trunk/subversion/svnserve/serve.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnserve/serve.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/svnserve/serve.c (original)
+++ subversion/trunk/subversion/svnserve/serve.c Wed May 28 12:24:05 2014
@@ -2214,19 +2214,17 @@ static svn_error_t *log_cmd(svn_ra_svn_c
int i;
apr_uint64_t limit, include_merged_revs_param;
const char *move_behavior_param;
- svn_move_behavior_t move_behavior;
log_baton_t lb;
authz_baton_t ab;
ab.server = b;
ab.conn = conn;
- SVN_ERR(svn_ra_svn__parse_tuple(params, pool, "l(?r)(?r)bb?n?Bwl?w", &paths,
+ SVN_ERR(svn_ra_svn__parse_tuple(params, pool, "l(?r)(?r)bb?n?Bwl", &paths,
&start_rev, &end_rev, &send_changed_paths,
&strict_node, &limit,
&include_merged_revs_param,
- &revprop_word, &revprop_items,
- &move_behavior_param));
+ &revprop_word, &revprop_items));
if (include_merged_revs_param == SVN_RA_SVN_UNSPECIFIED_NUMBER)
include_merged_revisions = FALSE;
@@ -2258,8 +2256,6 @@ static svn_error_t *log_cmd(svn_ra_svn_c
_("Unknown revprop word '%s' in log command"),
revprop_word);
- move_behavior = svn_move_behavior_from_word(move_behavior_param);
-
/* If we got an unspecified number then the user didn't send us anything,
so we assume no limit. If it's larger than INT_MAX then someone is
messing with us, since we know the svn client libraries will never send
@@ -2291,12 +2287,11 @@ static svn_error_t *log_cmd(svn_ra_svn_c
lb.fs_path = b->repository->fs_path->data;
lb.conn = conn;
lb.stack_depth = 0;
- err = svn_repos_get_logs5(b->repository->repos, full_paths, start_rev,
+ err = svn_repos_get_logs4(b->repository->repos, full_paths, start_rev,
end_rev, (int) limit, send_changed_paths,
strict_node, include_merged_revisions,
- move_behavior, revprops,
- authz_check_access_cb_func(b),
- &ab, log_receiver, &lb, pool);
+ revprops, authz_check_access_cb_func(b), &ab,
+ log_receiver, &lb, pool);
write_err = svn_ra_svn__write_word(conn, pool, "done");
if (write_err)
Modified: subversion/trunk/subversion/tests/cmdline/log_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/log_tests.py?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/log_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/log_tests.py Wed May 28 12:24:05 2014
@@ -32,7 +32,6 @@ import svntest
from svntest import wc
from svntest.main import server_has_mergeinfo
-from svntest.main import server_has_auto_move
from svntest.main import SVN_PROP_MERGEINFO
from svntest.mergetrees import set_up_branch
from svntest.verify import make_diff_header, make_no_diff_deleted_header
@@ -2514,53 +2513,6 @@ def log_multiple_revs_spanning_rename(sb
log_chain = parse_log_output(output)
check_log_chain(log_chain, [1,4])
-#----------------------------------------------------------------------
-def verify_move_log(sbox, flag, has_moves):
- "result checker for log_auto_move"
-
- trunk_path = os.path.join(sbox.wc_dir, 'trunk')
-
- exit_code, output, err = svntest.actions.run_and_verify_svn(
- None, None, [], 'log', '-r3', '-v', trunk_path, flag)
- log_chain = parse_log_output(output)
- check_log_chain(log_chain, [3], [2])
-
- paths = log_chain[0]['paths']
- if paths[0][0] != 'D' or paths[0][1] != '/A':
- raise SVNLogParseError("Deletion of '/A' expected, %s of %s found" % paths[0])
- if has_moves:
- if paths[1][0] != 'V' or paths[1][1] != '/trunk (from /A:2)':
- raise SVNLogParseError("Move of '/A' to '/trunk' expected, %s of %s found" % paths[1])
- else:
- if paths[1][0] != 'A' or paths[1][1] != '/trunk (from /A:2)':
- raise SVNLogParseError("Addition of '/A' to '/trunk' expected, %s of %s found" % paths[1])
-
- exit_code, output, err = svntest.actions.run_and_verify_svn(
- None, None, [], 'log', '-r5', '-v', trunk_path, flag)
- log_chain = parse_log_output(output)
- check_log_chain(log_chain, [5], [2])
-
- paths = log_chain[0]['paths']
- if has_moves:
- if paths[0][0] != 'E' or paths[0][1] != '/trunk/C (from /trunk/D:4)':
- raise SVNLogParseError("Replacing move of '/trunk/C' with '/trunk/D' expected, %s of %s found" % paths[0])
- if paths[1][0] != 'E' or paths[1][1] != '/trunk/D (from /trunk/C:4)':
- raise SVNLogParseError("Replacing move of '/trunk/D' with '/trunk/C' expected, %s of %s found" % paths[1])
- else:
- if paths[0][0] != 'R' or paths[0][1] != '/trunk/C (from /trunk/D:4)':
- raise SVNLogParseError("Replace of '/trunk/C' with '/trunk/D' expected, %s of %s found" % paths[0])
- if paths[1][0] != 'R' or paths[1][1] != '/trunk/D (from /trunk/C:4)':
- raise SVNLogParseError("Replace of '/trunk/D' with '/trunk/C' expected, %s of %s found" % paths[1])
-
-@Issue(4355)
-@SkipUnless(server_has_auto_move)
-def log_auto_move(sbox):
- "test --auto-moves flag"
-
- create_renaming_history_repos(sbox)
- verify_move_log(sbox, '--auto-moves', server_has_auto_move())
- verify_move_log(sbox, '-v', 0)
-
@SkipUnless(server_has_mergeinfo)
def mergeinfo_log(sbox):
"'mergeinfo --log' on a path with mergeinfo"
@@ -2723,7 +2675,6 @@ test_list = [ None,
log_search,
merge_sensitive_log_with_search,
log_multiple_revs_spanning_rename,
- log_auto_move,
mergeinfo_log,
merge_sensitive_log_xml_reverse_merges,
]
Modified: subversion/trunk/subversion/tests/cmdline/svntest/main.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/main.py?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/main.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/main.py Wed May 28 12:24:05 2014
@@ -1419,9 +1419,6 @@ def server_has_atomic_revprop():
def server_has_reverse_get_file_revs():
return options.server_minor_version >= 8
-def server_has_auto_move():
- return options.server_minor_version >= 9
-
def is_plaintext_password_storage_disabled():
try:
predicate = re.compile("^WARNING: Plaintext password storage is enabled!")
Modified: subversion/trunk/tools/client-side/svn-bench/cl.h
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/client-side/svn-bench/cl.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/tools/client-side/svn-bench/cl.h (original)
+++ subversion/trunk/tools/client-side/svn-bench/cl.h Wed May 28 12:24:05 2014
@@ -90,7 +90,6 @@ typedef struct svn_cl__opt_state_t
svn_boolean_t no_revprops; /* retrieve no revprops */
apr_hash_t *revprop_table; /* table of revision properties to get/set */
svn_boolean_t use_merge_history; /* use/display extra merge information */
- svn_boolean_t auto_moves; /* interpret unique DEL/ADD pairs as moves */
svn_boolean_t trust_server_cert; /* trust server SSL certs that would
otherwise be rejected as "untrusted" */
} svn_cl__opt_state_t;
Modified: subversion/trunk/tools/client-side/svn-bench/null-log-cmd.c
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/client-side/svn-bench/null-log-cmd.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/tools/client-side/svn-bench/null-log-cmd.c (original)
+++ subversion/trunk/tools/client-side/svn-bench/null-log-cmd.c Wed May 28 12:24:05 2014
@@ -140,9 +140,6 @@ svn_cl__null_log(apr_getopt_t *os,
apr_array_header_t *revprops;
svn_opt_revision_t target_peg_revision;
const char *target_path_or_url;
- svn_move_behavior_t move_behavior = opt_state->auto_moves
- ? svn_move_behavior_auto_moves
- : svn_move_behavior_explicit_moves;
SVN_ERR(svn_cl__args_to_target_array_print_reserved(&targets, os,
opt_state->targets,
@@ -205,14 +202,13 @@ svn_cl__null_log(apr_getopt_t *os,
APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_DATE;
if (!opt_state->quiet)
APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_LOG;
- SVN_ERR(svn_client_log6(targets,
+ SVN_ERR(svn_client_log5(targets,
&target_peg_revision,
opt_state->revision_ranges,
opt_state->limit,
opt_state->verbose,
opt_state->stop_on_copy,
opt_state->use_merge_history,
- move_behavior,
revprops,
log_entry_receiver,
&lb,
Modified: subversion/trunk/tools/client-side/svn-bench/svn-bench.c
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/client-side/svn-bench/svn-bench.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/tools/client-side/svn-bench/svn-bench.c (original)
+++ subversion/trunk/tools/client-side/svn-bench/svn-bench.c Wed May 28 12:24:05 2014
@@ -66,7 +66,6 @@ typedef enum svn_cl__longopt_t {
opt_with_revprop,
opt_with_all_revprops,
opt_with_no_revprops,
- opt_auto_moves,
opt_trust_server_cert,
opt_changelist
} svn_cl__longopt_t;
@@ -149,10 +148,6 @@ const apr_getopt_option_t svn_cl__option
N_("set revision property ARG in new revision\n"
" "
"using the name[=value] format")},
- {"auto-moves", opt_auto_moves, 0,
- N_("attempt to interpret matching unique DEL+ADD\n"
- " "
- "pairs as moves")},
{"use-merge-history", 'g', 0,
N_("use/display additional information from merge\n"
" "
@@ -261,7 +256,7 @@ const svn_opt_subcommand_desc2_t svn_cl_
" behavior, which can be useful for determining branchpoints.\n"),
{'r', 'q', 'v', 'g', 'c', opt_targets, opt_stop_on_copy,
'l', opt_with_all_revprops, opt_with_no_revprops, opt_with_revprop,
- opt_auto_moves, 'x',},
+ 'x',},
{{opt_with_revprop, N_("retrieve revision property ARG")},
{'c', N_("the change made in revision ARG")}} },
@@ -622,9 +617,6 @@ sub_main(int *exit_code, int argc, const
case 'g':
opt_state.use_merge_history = TRUE;
break;
- case opt_auto_moves:
- opt_state.auto_moves = TRUE;
- break;
default:
/* Hmmm. Perhaps this would be a good place to squirrel away
opts that commands like svn diff might need. Hmmm indeed. */
Modified: subversion/trunk/tools/server-side/svn-populate-node-origins-index.c
URL: http://svn.apache.org/viewvc/subversion/trunk/tools/server-side/svn-populate-node-origins-index.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/tools/server-side/svn-populate-node-origins-index.c (original)
+++ subversion/trunk/tools/server-side/svn-populate-node-origins-index.c Wed May 28 12:24:05 2014
@@ -94,9 +94,7 @@ index_revision_adds(int *count, svn_fs_t
apr_hash_this(hi, &path, NULL, &val);
change = val;
if ((change->change_kind == svn_fs_path_change_add)
- || (change->change_kind == svn_fs_path_change_replace)
- || (change->change_kind == svn_fs_path_change_move)
- || (change->change_kind == svn_fs_path_change_movereplace))
+ || (change->change_kind == svn_fs_path_change_replace))
{
if (! (change->copyfrom_path
&& SVN_IS_VALID_REVNUM(change->copyfrom_rev)))