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)))