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 [1/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...

Author: stefan2
Date: Wed May 28 12:24:05 2014
New Revision: 1597989

URL: http://svn.apache.org/r1597989
Log:
Reverting experimental move-related APIs.
For details see http://svn.haxx.se/dev/archive-2014-05/0155.shtml

This effectively reverts revisions 1595600,1572044,1547039,1535341,
1535330,1535080,1535029,1534280,1532200,1527217,1527088,1526057,
1526014,1526013,1525484,1525467,1525464,1525463,1525462,1525460,
1525459,1525453,1525448,1525442,1525432,1525429 and 1525419.

Remove respective entries from CHANGES.

Modified:
    subversion/trunk/CHANGES
    subversion/trunk/subversion/include/svn_client.h
    subversion/trunk/subversion/include/svn_fs.h
    subversion/trunk/subversion/include/svn_ra.h
    subversion/trunk/subversion/include/svn_repos.h
    subversion/trunk/subversion/include/svn_types.h
    subversion/trunk/subversion/libsvn_client/deprecated.c
    subversion/trunk/subversion/libsvn_client/log.c
    subversion/trunk/subversion/libsvn_client/merge.c
    subversion/trunk/subversion/libsvn_client/mergeinfo.c
    subversion/trunk/subversion/libsvn_fs/fs-loader.c
    subversion/trunk/subversion/libsvn_fs/fs-loader.h
    subversion/trunk/subversion/libsvn_fs_base/tree.c
    subversion/trunk/subversion/libsvn_fs_fs/fs.h
    subversion/trunk/subversion/libsvn_fs_fs/low_level.c
    subversion/trunk/subversion/libsvn_fs_fs/transaction.c
    subversion/trunk/subversion/libsvn_fs_fs/tree.c
    subversion/trunk/subversion/libsvn_fs_fs/util.c
    subversion/trunk/subversion/libsvn_fs_fs/util.h
    subversion/trunk/subversion/libsvn_fs_x/   (props changed)
    subversion/trunk/subversion/libsvn_fs_x/low_level.c
    subversion/trunk/subversion/libsvn_fs_x/transaction.c
    subversion/trunk/subversion/libsvn_fs_x/tree.c
    subversion/trunk/subversion/libsvn_ra/compat.c
    subversion/trunk/subversion/libsvn_ra/deprecated.c
    subversion/trunk/subversion/libsvn_ra/ra_loader.c
    subversion/trunk/subversion/libsvn_ra/ra_loader.h
    subversion/trunk/subversion/libsvn_ra/wrapper_template.h
    subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c
    subversion/trunk/subversion/libsvn_ra_serf/log.c
    subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
    subversion/trunk/subversion/libsvn_ra_svn/client.c
    subversion/trunk/subversion/libsvn_repos/deprecated.c
    subversion/trunk/subversion/libsvn_repos/log.c
    subversion/trunk/subversion/libsvn_subr/types.c
    subversion/trunk/subversion/mod_dav_svn/reports/log.c
    subversion/trunk/subversion/svn/log-cmd.c
    subversion/trunk/subversion/svnserve/serve.c
    subversion/trunk/subversion/tests/cmdline/log_tests.py
    subversion/trunk/subversion/tests/cmdline/svntest/main.py
    subversion/trunk/tools/client-side/svn-bench/cl.h
    subversion/trunk/tools/client-side/svn-bench/null-log-cmd.c
    subversion/trunk/tools/client-side/svn-bench/svn-bench.c
    subversion/trunk/tools/server-side/svn-populate-node-origins-index.c

Modified: subversion/trunk/CHANGES
URL: http://svn.apache.org/viewvc/subversion/trunk/CHANGES?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/CHANGES (original)
+++ subversion/trunk/CHANGES Wed May 28 12:24:05 2014
@@ -39,7 +39,6 @@ http://svn.apache.org/repos/asf/subversi
     * reimplement UTF-8 fuzzy conversion using utf8proc (r1511676)
     * svnadmin verify: speed up for repos with large directories (r1520419)
     * merge: interactive conflict merge option tries external tools (r1524145)
-    * log: support for displaying moves (r1525464 et al)
     * minor speed up in string to time conversion (r1533387)
     * list: remove some unnecessary work from implementation (r1533392)
     * windows: speed up console output (r1533994)
@@ -235,7 +234,6 @@ http://svn.apache.org/repos/asf/subversi
     * fsfs-access-map: deal with strace format issues (r1505065)
     * fsfs-access-map: update to know about index files (r1505065)
     * svn-bench: add null-info command (r1532196)
-    * svn-bench: add --auto-moves to null-log (r1532200)
     * svnlook.py: made usable as a library by adding getter methods (r1541558)
     * svn-bench, svnraisetreeconflict, svnauthz, svn-rep-sharing-stats: More
       consistent error reporting, following pattern of core command-line
@@ -320,7 +318,6 @@ http://svn.apache.org/repos/asf/subversi
     * New apis svn_io_file_create_empty() and svn_io_file_create_binary()
       (r1505006)
     * New api svn_ver_check_list2() (r1502267)
-    * New experimental api svn_fs_move() to support moves in backend (r1525442)
     * svn_fs_paths_changed() gains support for moves (r1525448)
     * New api svn_repos_get_logs5() adds support for moves (r1525453)
     * New api svn_ra_get_log3() adds support for moves (r1525460)

Modified: subversion/trunk/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_client.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_client.h (original)
+++ subversion/trunk/subversion/include/svn_client.h Wed May 28 12:24:05 2014
@@ -2720,9 +2720,6 @@ svn_client_status(svn_revnum_t *result_r
  * If @a include_merged_revisions is set, log information for revisions
  * which have been merged to @a targets will also be returned.
  * 
- * @a move_behavior will control which changes will be reported as moves
- * instead of additions and vice versa.
- *
  * If @a revprops is NULL, retrieve all revision properties; else, retrieve
  * only the revision properties named by the (const char *) array elements
  * (i.e. retrieve none if the array is empty).
@@ -2732,31 +2729,8 @@ svn_client_status(svn_revnum_t *result_r
  * If @a ctx->notify_func2 is non-NULL, then call @a ctx->notify_func2/baton2
  * with a 'skip' signal on any unversioned targets.
  *
- * @since New in 1.9.
- */
-svn_error_t *
-svn_client_log6(const apr_array_header_t *targets,
-                const svn_opt_revision_t *peg_revision,
-                const apr_array_header_t *revision_ranges,
-                int limit,
-                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_log_entry_receiver_t receiver,
-                void *receiver_baton,
-                svn_client_ctx_t *ctx,
-                apr_pool_t *pool);
-
-/**
- * Similar to svn_client_log6(), but with @a move_behavior set to
- * #svn_move_behavior_no_moves.
- *
- * @deprecated Provided for compatibility with the 1.8 API.
  * @since New in 1.6.
  */
-SVN_DEPRECATED
 svn_error_t *
 svn_client_log5(const apr_array_header_t *targets,
                 const svn_opt_revision_t *peg_revision,

Modified: subversion/trunk/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_fs.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_fs.h (original)
+++ subversion/trunk/subversion/include/svn_fs.h Wed May 28 12:24:05 2014
@@ -1364,15 +1364,6 @@ typedef enum svn_fs_path_change_kind_t
 
   /** ignore all previous change items for path (internal-use only) */
   svn_fs_path_change_reset,
-
-  /** moved to this path in txn
-   * @since New in 1.9 */
-  svn_fs_path_change_move,
-
-  /** path removed and replaced by moved path in txn
-   * @since New in 1.9 */
-  svn_fs_path_change_movereplace
-
 } svn_fs_path_change_kind_t;
 
 /** Change descriptor.
@@ -2070,37 +2061,6 @@ svn_fs_revision_link(svn_fs_root_t *from
                      const char *path,
                      apr_pool_t *pool);
 
-/** Create a copy of @a from_path in @a from_root named @a to_path in
- * @a to_root and record it as a Move.  If @a from_path in @a from_root is
- * a directory, copy the tree it refers to recursively.  @a from_root must
- * be @a to_root's base revision.
- *
- * The move will remember its source; use svn_fs_copied_from() to
- * access this information.
- *
- * @a to_root must be the root of a transaction based on that revision.
- * Further, @a to_root and @a from_root must represent the same filesystem.
- *
- * Do any necessary temporary allocation in @a pool.
- *
- * @note This will not implicitly delete the @a from_path in @a to_root
- *       but the deletion must be reported just as if this was a
- *       #svn_fs_copy call.
- *
- * @warning This function is marked as @b experimental.  That means this
- *          function will probably be supported in future releases but
- *          might change in signature or various aspects of its semantics.
- *
- * @since New in 1.9.
- */
-SVN_EXPERIMENTAL
-svn_error_t *
-svn_fs_move(svn_fs_root_t *from_root,
-            const char *from_path,
-            svn_fs_root_t *to_root,
-            const char *to_path,
-            apr_pool_t *pool);
-
 
 /* Files.  */
 

Modified: subversion/trunk/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_ra.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_ra.h (original)
+++ subversion/trunk/subversion/include/svn_ra.h Wed May 28 12:24:05 2014
@@ -1590,9 +1590,6 @@ svn_ra_do_diff(svn_ra_session_t *session
  * If @a include_merged_revisions is set, log information for revisions
  * which have been merged to @a targets will also be returned.
  *
- * @a move_behavior defines which changes are being reported as moves.
- * See #svn_move_behavior_t for the various options.
- *
  * If @a revprops is NULL, retrieve all revision properties; else, retrieve
  * only the revision properties named by the (const char *) array elements
  * (i.e. retrieve none if the array is empty).
@@ -1620,32 +1617,8 @@ svn_ra_do_diff(svn_ra_session_t *session
  * revprops is NULL or contains a revprop other than svn:author, svn:date,
  * or svn:log, an @c SVN_ERR_RA_NOT_IMPLEMENTED error is returned.
  *
- * @since New in 1.9.
- */
-
-svn_error_t *
-svn_ra_get_log3(svn_ra_session_t *session,
-                const apr_array_header_t *paths,
-                svn_revnum_t start,
-                svn_revnum_t end,
-                int limit,
-                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_log_entry_receiver_t receiver,
-                void *receiver_baton,
-                apr_pool_t *pool);
-
-/**
- * Similar to svn_ra_get_log3(), but with @a move_behavior being set to
- * #svn_move_behavior_no_moves.
- *
  * @since New in 1.5.
- * @deprecated Provided for backward compatibility with the 1.8 API.
  */
-SVN_DEPRECATED
 svn_error_t *
 svn_ra_get_log2(svn_ra_session_t *session,
                 const apr_array_header_t *paths,

Modified: subversion/trunk/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_repos.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_repos.h (original)
+++ subversion/trunk/subversion/include/svn_repos.h Wed May 28 12:24:05 2014
@@ -1836,9 +1836,6 @@ svn_repos_node_location_segments(svn_rep
  * filesystem, as limited by @a paths. In the latter case those revisions
  * are skipped and @a receiver is not invoked.
  *
- * @a move_behavior defines which changes are being reported as moves.
- * See #svn_move_behavior_t for the various options.
- *
  * If @a revprops is NULL, retrieve all revision properties; else, retrieve
  * only the revision properties named by the (const char *) array elements
  * (i.e. retrieve none if the array is empty).
@@ -1863,33 +1860,8 @@ svn_repos_node_location_segments(svn_rep
  *
  * Use @a pool for temporary allocations.
  *
- * @since New in 1.9.
- */
-svn_error_t *
-svn_repos_get_logs5(svn_repos_t *repos,
-                    const apr_array_header_t *paths,
-                    svn_revnum_t start,
-                    svn_revnum_t end,
-                    int limit,
-                    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,
-                    svn_log_entry_receiver_t receiver,
-                    void *receiver_baton,
-                    apr_pool_t *pool);
-
-/**
- * Same as svn_repos_get_logs5(), but with @a move_behavior being set to
- * #svn_move_behavior_no_moves.
- *
  * @since New in 1.5.
- * @deprecated Provided for backward compatibility with the 1.8 API.
  */
-SVN_DEPRECATED
 svn_error_t *
 svn_repos_get_logs4(svn_repos_t *repos,
                     const apr_array_header_t *paths,

Modified: subversion/trunk/subversion/include/svn_types.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_types.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_types.h (original)
+++ subversion/trunk/subversion/include/svn_types.h Wed May 28 12:24:05 2014
@@ -1054,48 +1054,6 @@ typedef svn_error_t *(*svn_log_message_r
   const char *message,
   apr_pool_t *pool);
 
-/**
- * This enumeration contains the various options how SVN shall report
- * and process explicit MOVes as well as ADD+DEL pairs.
- *
- * @since New in 1.9.
- */
-typedef enum svn_move_behavior_t
-{
-  /** report all moves as ADD with history.
-     This also provides backward compatibility with 1.8 clients. */
-  svn_move_behavior_no_moves = 0,
-
-  /** report all changes, including moves, as they were reported.
-     This is option with the least overhead. */
-  svn_move_behavior_explicit_moves,
-
-  /** in addition to explicit moves, try to find matching DEL + ADD pairs
-     and report the ADD in those as moves as well.  Which of the eligible
-     DEL + ADD pairs will be detected is implementation-dependent. */
-  svn_move_behavior_auto_moves
-} svn_move_behavior_t;
-
-/** Return a constant string expressing @a value as an English word,
- * e.g., "none", "explicit", etc.  The string is not localized,
- * as it may be used for client<->server communications.
- *
- * @since New in 1.9.
- */
-const char *
-svn_move_behavior_to_word(svn_move_behavior_t value);
-
-/** Return the appropriate move behavior for @a word.  @a word is as
- * returned from svn_move_behavior_to_word().  If @a word does not
- * represent a recognized behavior, return #svn_move_behavior_explicit_moves.
- *
- * @since New in 1.9.
- */
-svn_move_behavior_t
-svn_move_behavior_from_word(const char *word);
-
-
-
 
 /** Callback function type for commits.
  *

Modified: subversion/trunk/subversion/libsvn_client/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/deprecated.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_client/deprecated.c Wed May 28 12:24:05 2014
@@ -1500,27 +1500,6 @@ svn_client_ls(apr_hash_t **dirents,
 /*** From log.c ***/
 
 svn_error_t *
-svn_client_log5(const apr_array_header_t *targets,
-                const svn_opt_revision_t *peg_revision,
-                const apr_array_header_t *revision_ranges,
-                int limit,
-                svn_boolean_t discover_changed_paths,
-                svn_boolean_t strict_node_history,
-                svn_boolean_t include_merged_revisions,
-                const apr_array_header_t *revprops,
-                svn_log_entry_receiver_t receiver,
-                void *receiver_baton,
-                svn_client_ctx_t *ctx,
-                apr_pool_t *pool)
-{
-  return svn_client_log6(targets, peg_revision, revision_ranges, limit,
-                         discover_changed_paths, strict_node_history,
-                         include_merged_revisions,
-                         svn_move_behavior_no_moves, revprops, receiver,
-                         receiver_baton, ctx, pool);
-}
-
-svn_error_t *
 svn_client_log4(const apr_array_header_t *targets,
                 const svn_opt_revision_t *peg_revision,
                 const svn_opt_revision_t *start,

Modified: subversion/trunk/subversion/libsvn_client/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/log.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/log.c (original)
+++ subversion/trunk/subversion/libsvn_client/log.c Wed May 28 12:24:05 2014
@@ -648,7 +648,6 @@ run_ra_get_log(apr_array_header_t *revis
                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_log_entry_receiver_t real_receiver,
                void *real_receiver_baton,
@@ -807,7 +806,7 @@ run_ra_get_log(apr_array_header_t *revis
           passed_receiver_baton = &lb;
         }
 
-      SVN_ERR(svn_ra_get_log3(ra_session,
+      SVN_ERR(svn_ra_get_log2(ra_session,
                               paths,
                               range->range_start,
                               range->range_end,
@@ -815,7 +814,6 @@ run_ra_get_log(apr_array_header_t *revis
                               discover_changed_paths,
                               strict_node_history,
                               include_merged_revisions,
-                              move_behavior,
                               passed_receiver_revprops,
                               passed_receiver,
                               passed_receiver_baton,
@@ -838,14 +836,13 @@ run_ra_get_log(apr_array_header_t *revis
 /*** Public Interface. ***/
 
 svn_error_t *
-svn_client_log6(const apr_array_header_t *targets,
+svn_client_log5(const apr_array_header_t *targets,
                 const svn_opt_revision_t *peg_revision,
                 const apr_array_header_t *opt_rev_ranges,
                 int limit,
                 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_log_entry_receiver_t real_receiver,
                 void *real_receiver_baton,
@@ -933,7 +930,7 @@ svn_client_log6(const apr_array_header_t
   SVN_ERR(run_ra_get_log(revision_ranges, relative_targets, log_segments,
                          actual_loc, ra_session, targets, limit,
                          discover_changed_paths, strict_node_history,
-                         include_merged_revisions, move_behavior, revprops,
+                         include_merged_revisions, revprops,
                          real_receiver, real_receiver_baton, ctx, pool));
 
   return SVN_NO_ERROR;

Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Wed May 28 12:24:05 2014
@@ -6739,7 +6739,7 @@ merge_range_find_extremes(svn_revnum_t *
     }
 }
 
-/* Wrapper around svn_ra_get_log3(). Invoke RECEIVER with RECEIVER_BATON
+/* Wrapper around svn_ra_get_log2(). Invoke RECEIVER with RECEIVER_BATON
  * on each commit from YOUNGEST_REV to OLDEST_REV in which TARGET_RELPATH
  * changed.  TARGET_RELPATH is relative to RA_SESSION's URL.
  * Important: Revision properties are not retrieved by this function for
@@ -6763,11 +6763,10 @@ get_log(svn_ra_session_t *ra_session,
 
   revprops = apr_array_make(pool, 0, sizeof(const char *));
 
-  SVN_ERR(svn_ra_get_log3(ra_session, log_targets, youngest_rev,
+  SVN_ERR(svn_ra_get_log2(ra_session, log_targets, youngest_rev,
                           oldest_rev, 0 /* limit */, discover_changed_paths,
                           FALSE /* strict_node_history */,
                           FALSE /* include_merged_revisions */,
-                          svn_move_behavior_no_moves, /* ### really? */
                           revprops, receiver, receiver_baton, pool));
 
   return SVN_NO_ERROR;

Modified: subversion/trunk/subversion/libsvn_client/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/mergeinfo.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/mergeinfo.c (original)
+++ subversion/trunk/subversion/libsvn_client/mergeinfo.c Wed May 28 12:24:05 2014
@@ -1564,14 +1564,13 @@ logs_for_mergeinfo_rangelist(const char 
     target = apr_array_make(scratch_pool, 1, sizeof(const char *));
     APR_ARRAY_PUSH(target, const char *) = "";
 
-    SVN_ERR(svn_ra_get_log3(ra_session, target,
+    SVN_ERR(svn_ra_get_log2(ra_session, target,
                             oldest_revs_first ? oldest_rev : youngest_rev,
                             oldest_revs_first ? youngest_rev : oldest_rev,
                             0 /* limit */,
                             discover_changed_paths,
                             FALSE /* strict_node_history */,
                             FALSE /* include_merged_revisions */,
-                            svn_move_behavior_no_moves, /* ### really? */
                             revprops,
                             filter_log_entry_with_rangelist, &fleb,
                             scratch_pool));

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.c Wed May 28 12:24:05 2014
@@ -1343,15 +1343,6 @@ svn_fs_revision_link(svn_fs_root_t *from
 }
 
 svn_error_t *
-svn_fs_move(svn_fs_root_t *from_root, const char *from_path,
-            svn_fs_root_t *to_root, const char *to_path, apr_pool_t *pool)
-{
-  SVN_ERR(svn_fs__path_valid(to_path, pool));
-  return svn_error_trace(to_root->vtable->move(from_root, from_path,
-                                               to_root, to_path, pool));
-}
-
-svn_error_t *
 svn_fs_file_length(svn_filesize_t *length_p, svn_fs_root_t *root,
                    const char *path, apr_pool_t *pool)
 {

Modified: subversion/trunk/subversion/libsvn_fs/fs-loader.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs/fs-loader.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs/fs-loader.h (original)
+++ subversion/trunk/subversion/libsvn_fs/fs-loader.h Wed May 28 12:24:05 2014
@@ -331,9 +331,6 @@ typedef struct root_vtable_t
                                 svn_fs_root_t *to_root,
                                 const char *path,
                                 apr_pool_t *pool);
-  svn_error_t *(*move)(svn_fs_root_t *from_root, const char *from_path,
-                       svn_fs_root_t *to_root, const char *to_path,
-                       apr_pool_t *pool);
   svn_error_t *(*copied_from)(svn_revnum_t *rev_p, const char **path_p,
                               svn_fs_root_t *root, const char *path,
                               apr_pool_t *pool);

Modified: subversion/trunk/subversion/libsvn_fs_base/tree.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_base/tree.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_base/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_base/tree.c Wed May 28 12:24:05 2014
@@ -3316,18 +3316,6 @@ base_revision_link(svn_fs_root_t *from_r
 }
 
 
-static svn_error_t *
-base_move(svn_fs_root_t *from_root,
-          const char *from_path,
-          svn_fs_root_t *to_root,
-          const char *to_path,
-          apr_pool_t *pool)
-{
-  /* BDB supports MOVes only as backward compatible ADD-with-history */
-  return base_copy(from_root, from_path, to_root, to_path, pool);
-}
-
-
 struct copied_from_args
 {
   svn_fs_root_t *root;      /* Root for the node whose ancestry we seek. */
@@ -5497,7 +5485,6 @@ static root_vtable_t root_vtable = {
   base_delete_node,
   base_copy,
   base_revision_link,
-  base_move,
   base_copied_from,
   base_closest_copy,
   base_node_prop,

Modified: subversion/trunk/subversion/libsvn_fs_fs/fs.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs.h Wed May 28 12:24:05 2014
@@ -179,9 +179,6 @@ extern "C" {
 /* Minimum format number that stores mergeinfo-mode flag in changed paths */
 #define SVN_FS_FS__MIN_MERGEINFO_IN_CHANGES_FORMAT 7
 
-/* Minimum format number that will record moves */
-#define SVN_FS_FS__MIN_MOVE_SUPPORT_FORMAT 7
-
 /* The minimum format number that supports a configuration file (fsfs.conf) */
 #define SVN_FS_FS__MIN_CONFIG_FILE 4
 

Modified: subversion/trunk/subversion/libsvn_fs_fs/low_level.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/low_level.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/low_level.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/low_level.c Wed May 28 12:24:05 2014
@@ -52,8 +52,6 @@
 #define ACTION_DELETE      "delete"
 #define ACTION_REPLACE     "replace"
 #define ACTION_RESET       "reset"
-#define ACTION_MOVE        "move"
-#define ACTION_MOVEREPLACE "movereplace"
 
 /* True and False flags. */
 #define FLAG_TRUE          "true"
@@ -243,14 +241,6 @@ read_change(change_t **change_p,
     {
       info->change_kind = svn_fs_path_change_reset;
     }
-  else if (strcmp(str, ACTION_MOVE) == 0)
-    {
-      info->change_kind = svn_fs_path_change_move;
-    }
-  else if (strcmp(str, ACTION_MOVEREPLACE) == 0)
-    {
-      info->change_kind = svn_fs_path_change_movereplace;
-    }
   else
     {
       return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
@@ -412,12 +402,6 @@ write_change_entry(svn_stream_t *stream,
     case svn_fs_path_change_reset:
       change_string = ACTION_RESET;
       break;
-    case svn_fs_path_change_move:
-      change_string = ACTION_MOVE;
-      break;
-    case svn_fs_path_change_movereplace:
-      change_string = ACTION_MOVEREPLACE;
-      break;
     default:
       return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
                                _("Invalid change type %d"),

Modified: subversion/trunk/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/transaction.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/transaction.c Wed May 28 12:24:05 2014
@@ -690,8 +690,6 @@ fold_change(apr_hash_t *changes,
       if ((old_change->change_kind == svn_fs_path_change_delete)
           && (! ((info->change_kind == svn_fs_path_change_replace)
                  || (info->change_kind == svn_fs_path_change_reset)
-                 || (info->change_kind == svn_fs_path_change_movereplace)
-                 || (info->change_kind == svn_fs_path_change_move)
                  || (info->change_kind == svn_fs_path_change_add))))
         return svn_error_create
           (SVN_ERR_FS_CORRUPT, NULL,
@@ -699,8 +697,7 @@ fold_change(apr_hash_t *changes,
 
       /* Sanity check: an add can't follow anything except
          a delete or reset.  */
-      if ((   (info->change_kind == svn_fs_path_change_add)
-           || (info->change_kind == svn_fs_path_change_move))
+      if ((info->change_kind == svn_fs_path_change_add)
           && (old_change->change_kind != svn_fs_path_change_delete)
           && (old_change->change_kind != svn_fs_path_change_reset))
         return svn_error_create
@@ -717,8 +714,7 @@ fold_change(apr_hash_t *changes,
           break;
 
         case svn_fs_path_change_delete:
-          if ((old_change->change_kind == svn_fs_path_change_add)
-              || (old_change->change_kind == svn_fs_path_change_move))
+          if (old_change->change_kind == svn_fs_path_change_add)
             {
               /* If the path was introduced in this transaction via an
                  add, and we are deleting it, just remove the path
@@ -745,14 +741,6 @@ fold_change(apr_hash_t *changes,
           old_change->change_kind = svn_fs_path_change_replace;
           break;
 
-        case svn_fs_path_change_move:
-        case svn_fs_path_change_movereplace:
-          /* A move at this point must be following a previous delete,
-             so treat it just like a replacing move. */
-          replace_change(old_change, info, pool);
-          old_change->change_kind = svn_fs_path_change_movereplace;
-          break;
-
         case svn_fs_path_change_modify:
         default:
           if (info->text_mod)
@@ -821,8 +809,7 @@ process_changes(apr_hash_t *changed_path
       */
 
       if ((change->info.change_kind == svn_fs_path_change_delete)
-           || (change->info.change_kind == svn_fs_path_change_replace)
-           || (change->info.change_kind == svn_fs_path_change_movereplace))
+           || (change->info.change_kind == svn_fs_path_change_replace))
         {
           apr_hash_index_t *hi;
 
@@ -3131,21 +3118,6 @@ write_final_changed_path_info(apr_off_t 
 
   SVN_ERR(svn_fs_fs__get_file_offset(&offset, file, pool));
 
-  /* all moves specify the "copy-from-rev" as REV-1 */
-  if (svn_fs_fs__supports_move(fs))
-    {
-      for (hi = apr_hash_first(pool, changed_paths);
-           hi;
-           hi = apr_hash_next(hi))
-        {
-          svn_fs_path_change2_t *change = svn__apr_hash_index_val(hi);
-
-          if (   (change->change_kind == svn_fs_path_change_move)
-              || (change->change_kind == svn_fs_path_change_movereplace))
-            change->copyfrom_rev = new_rev - 1;
-        }
-    }
-
   /* write to target file & calculate checksum */
   stream = fnv1a_wrap_stream(&fnv1a_checksum_ctx,
                              svn_stream_from_aprfile2(file, TRUE, pool),
@@ -3326,168 +3298,6 @@ verify_locks(svn_fs_t *fs,
   return SVN_NO_ERROR;
 }
 
-/* If CHANGE is move, verify that there is no other move with the same
-   copy-from path in SOURCE_PATHS already (parent or sub-node moves are fine).
-   Add the source path to SOURCE_PATHS after successful verification.
-   Allocate the hashed strings in POOL. */
-static svn_error_t *
-check_for_duplicate_move_source(apr_hash_t *source_paths,
-                                svn_fs_path_change2_t *change,
-                                apr_pool_t *pool)
-{
-  if (   change->change_kind == svn_fs_path_change_move
-      || change->change_kind == svn_fs_path_change_movereplace)
-    if (change->copyfrom_path)
-      {
-        apr_size_t len = strlen(change->copyfrom_path);
-        if (apr_hash_get(source_paths, change->copyfrom_path, len))
-          return svn_error_createf(SVN_ERR_FS_AMBIGUOUS_MOVE, NULL,
-                      _("Path '%s' has been moved to more than one target"),
-                                   change->copyfrom_path);
-
-        apr_hash_set(source_paths,
-                     apr_pstrmemdup(pool, change->copyfrom_path, len),
-                     len,
-                     change->copyfrom_path);
-      }
-
-  return SVN_NO_ERROR;
-}
-
-/* Verify that the moves we are about to commit with TXN_ID in FS are unique
-   and the respective copy sources have been deleted.  OLD_REV is the last
-   committed revision.  CHANGED_PATHS is the list of changes paths in this
-   txn.  Use POOL for temporary allocations. */
-static svn_error_t *
-verify_moves(svn_fs_t *fs,
-             const svn_fs_fs__id_part_t *txn_id,
-             svn_revnum_t old_rev,
-             apr_hash_t *changed_paths,
-             apr_pool_t *pool)
-{
-  apr_hash_t *source_paths = apr_hash_make(pool);
-  svn_revnum_t revision;
-  apr_pool_t *iterpool = svn_pool_create(pool);
-  apr_hash_index_t *hi;
-  int i;
-  apr_array_header_t *moves
-    = apr_array_make(pool, 16, sizeof(svn_sort__item_t));
-  apr_array_header_t *deletions
-    = apr_array_make(pool, 16, sizeof(const char *));
-
-  /* extract moves and deletions from the current txn's change list */
-
-  for (hi = apr_hash_first(pool, changed_paths); hi; hi = apr_hash_next(hi))
-    {
-      const char *path;
-      apr_ssize_t len;
-      svn_fs_path_change2_t *change;
-      apr_hash_this(hi, (const void**)&path, &len, (void**)&change);
-
-      if (   change->copyfrom_path
-          && (   change->change_kind == svn_fs_path_change_move
-              || change->change_kind == svn_fs_path_change_movereplace))
-        {
-          svn_sort__item_t *item = apr_array_push(moves);
-          item->key = path;
-          item->klen = len;
-          item->value = change;
-        }
-
-      if (   change->change_kind == svn_fs_path_change_delete
-          || change->change_kind == svn_fs_path_change_replace
-          || change->change_kind == svn_fs_path_change_movereplace)
-        APR_ARRAY_PUSH(deletions, const char *) = path;
-    }
-
-  /* no moves? -> done here */
-
-  if (moves->nelts == 0)
-    return SVN_NO_ERROR;
-
-  /* correct the deletions that refer to moved paths and make them refer to
-     the paths in OLD_REV */
-
-  svn_sort__array(moves, svn_sort_compare_paths);
-
-  for (i = 0; i < deletions->nelts; ++i)
-    {
-      const char *deleted_path = APR_ARRAY_IDX(deletions, i, const char*);
-      int closest_move_idx
-        = svn_sort__bsearch_lower_bound(moves, deleted_path,
-                                        svn_sort_compare_paths);
-
-      if (closest_move_idx < moves->nelts)
-        {
-          svn_sort__item_t *closest_move_item
-            = &APR_ARRAY_IDX(moves, closest_move_idx, svn_sort__item_t);
-          const char *relpath
-            = svn_dirent_skip_ancestor(closest_move_item->key,
-                                       deleted_path);
-          if (relpath)
-            {
-              svn_fs_path_change2_t *closed_move = closest_move_item->value;
-              APR_ARRAY_IDX(deletions, i, const char*)
-                = svn_dirent_join(closed_move->copyfrom_path, relpath, pool);
-            }
-        }
-    }
-
-  svn_sort__array(deletions, svn_sort_compare_paths);
-
-  /* The _same_ source paths must never occur more than once in any move 
-     since our base revision. */
-
-  for (i = 0; moves->nelts; ++i)
-    SVN_ERR(check_for_duplicate_move_source (source_paths,
-                          APR_ARRAY_IDX(moves, i, svn_sort__item_t).value,
-                          pool));
-
-  for (revision = txn_id->revision + 1; revision <= old_rev; ++revision)
-    {
-      apr_array_header_t *changes;
-      change_t **changes_p;
-
-      svn_pool_clear(iterpool);
-      svn_fs_fs__get_changes(&changes, fs, revision, iterpool);
-
-      changes_p = (change_t **)&changes->elts;
-      for (i = 0; i < changes->nelts; ++i)
-        SVN_ERR(check_for_duplicate_move_source(source_paths,
-                                                &changes_p[i]->info,
-                                                pool));
-    }
-
-  /* The move source paths must been deleted in this txn. */
-
-  for (i = 0; i < moves->nelts; ++i)
-    {
-      svn_fs_path_change2_t *change
-        = APR_ARRAY_IDX(moves, i, svn_sort__item_t).value;
-
-      /* there must be a deletion of move's copy-from path
-         (or any of its parents) */
-
-      int closest_deletion_idx
-        = svn_sort__bsearch_lower_bound(deletions, change->copyfrom_path,
-                                        svn_sort_compare_paths);
-      if (closest_deletion_idx < deletions->nelts)
-        {
-          const char *closest_deleted_path
-            = APR_ARRAY_IDX(deletions, closest_deletion_idx, const char *);
-          if (!svn_dirent_is_ancestor(closest_deleted_path,
-                                      change->copyfrom_path))
-            return svn_error_createf(SVN_ERR_FS_INCOMPLETE_MOVE, NULL,
-                        _("Path '%s' has been moved without being deleted"),
-                                     change->copyfrom_path);
-        }
-    }
-
-  svn_pool_destroy(iterpool);
-
-  return SVN_NO_ERROR;
-}
-
 /* Return TRUE, if transaction TXN_ID in FS definitively uses logical
  * addressing mode.  Use POOL for temporary allocations.
  */
@@ -3834,11 +3644,6 @@ commit_body(void *baton, apr_pool_t *poo
   SVN_ERR(svn_fs_fs__txn_changes_fetch(&changed_paths, cb->fs, txn_id,
                                        pool));
 
-  /* ensure that no change in this txn or any txn committed since the start
-   * of this txn violates our move semantics */
-  if (svn_fs_fs__supports_move(cb->fs))
-    SVN_ERR(verify_moves(cb->fs, txn_id, old_rev, changed_paths, pool));
-
   /* Get the next node_id and copy_id to use. */
   if (ffd->format < SVN_FS_FS__MIN_NO_GLOBAL_IDS_FORMAT)
     SVN_ERR(get_next_revision_ids(&start_node_id, &start_copy_id, cb->fs,

Modified: subversion/trunk/subversion/libsvn_fs_fs/tree.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/tree.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/tree.c Wed May 28 12:24:05 2014
@@ -2527,9 +2527,6 @@ typedef enum copy_type_t
 
   /* add with history */
   copy_type_add_with_history,
-
-  /* move (always with history) */
-  copy_type_move
 } copy_type_t;
 
 /* Set CHANGES to TRUE if PATH in ROOT is unchanged in REVISION if the
@@ -2628,41 +2625,6 @@ copy_helper(svn_fs_root_t *from_root,
       (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
        _("Copy immutable tree not supported"));
 
-  /* move support comes with a number of conditions ... */
-  if (copy_type == copy_type_move)
-    {
-      /* if we don't copy from the TXN's base rev, check that the path has
-         not been touched in that revision range */
-      if (from_root->rev != txn_id->revision)
-        {
-          svn_boolean_t changed = TRUE;
-          svn_error_t *err = is_changed_node(&changed, from_root,
-                                             from_path, txn_id->revision,
-                                             pool);
-
-          /* Only "not found" is considered to be caused by out-of-date-ness.
-             Everything else means something got very wrong ... */
-          if (err && err->apr_err != SVN_ERR_FS_NOT_FOUND)
-            return svn_error_trace(err);
-
-          /* here error means "out of data" */
-          if (err || changed)
-            {
-              svn_error_clear(err);
-              return svn_error_create(SVN_ERR_FS_OUT_OF_DATE, NULL,
-                                      _("Move-from node is out-of-date"));
-            }
-
-          /* always move from the txn's base rev */
-          SVN_ERR(svn_fs_fs__revision_root(&from_root, from_root->fs,
-                                           txn_id->revision, pool));
-        }
-
-      /* does the FS support moves at all? */
-      if (!svn_fs_fs__supports_move(to_root->fs))
-        copy_type = copy_type_add_with_history;
-    }
-
   /* Get the NODE for FROM_PATH in FROM_ROOT.*/
   SVN_ERR(get_dag(&from_node, from_root, from_path, TRUE, pool));
 
@@ -2699,20 +2661,14 @@ copy_helper(svn_fs_root_t *from_root,
          operation is a replacement, not an addition. */
       if (to_parent_path->node)
         {
-          kind = copy_type == copy_type_move
-               ? svn_fs_path_change_movereplace
-               : svn_fs_path_change_replace;
-
+          kind = svn_fs_path_change_replace;
           if (svn_fs_fs__fs_supports_mergeinfo(to_root->fs))
             SVN_ERR(svn_fs_fs__dag_get_mergeinfo_count(&mergeinfo_start,
                                                        to_parent_path->node));
         }
       else
         {
-          kind = copy_type == copy_type_move
-               ? svn_fs_path_change_move
-               : svn_fs_path_change_add;
-
+          kind = svn_fs_path_change_add;
           mergeinfo_start = 0;
         }
 
@@ -2814,28 +2770,6 @@ fs_revision_link(svn_fs_root_t *from_roo
 }
 
 
-/* Create a copy of FROM_PATH in FROM_ROOT named TO_PATH in TO_ROOT and mark
-   it as a Move.  If FROM_PATH is a directory, copy it recursively. 
-   Temporary allocations are from POOL.*/
-static svn_error_t *
-fs_move(svn_fs_root_t *from_root,
-        const char *from_path,
-        svn_fs_root_t *to_root,
-        const char *to_path,
-        apr_pool_t *pool)
-{
-  SVN_ERR(check_newline(to_path, pool));
-
-  return svn_error_trace(copy_helper(from_root,
-                                     svn_fs__canonicalize_abspath(from_path,
-                                                                  pool),
-                                     to_root,
-                                     svn_fs__canonicalize_abspath(to_path,
-                                                                  pool),
-                                     copy_type_move, pool));
-}
-
-
 /* Discover the copy ancestry of PATH under ROOT.  Return a relevant
    ancestor/revision combination in *PATH_P and *REV_P.  Temporary
    allocations are in POOL. */
@@ -4346,7 +4280,6 @@ static root_vtable_t root_vtable = {
   fs_delete_node,
   fs_copy,
   fs_revision_link,
-  fs_move,
   fs_copied_from,
   fs_closest_copy,
   fs_node_prop,

Modified: subversion/trunk/subversion/libsvn_fs_fs/util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/util.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/util.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/util.c Wed May 28 12:24:05 2014
@@ -644,11 +644,3 @@ svn_fs_fs__use_log_addressing(svn_fs_t *
   return ffd->min_log_addressing_rev != SVN_INVALID_REVNUM
       && ffd->min_log_addressing_rev <= rev;
 }
-
-svn_boolean_t
-svn_fs_fs__supports_move(svn_fs_t *fs)
-{
-  fs_fs_data_t *ffd = fs->fsap_data;
-
-  return ffd->format >= SVN_FS_FS__MIN_MOVE_SUPPORT_FORMAT;
-}

Modified: subversion/trunk/subversion/libsvn_fs_fs/util.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/util.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/util.h (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/util.h Wed May 28 12:24:05 2014
@@ -392,8 +392,4 @@ svn_boolean_t
 svn_fs_fs__use_log_addressing(svn_fs_t *fs,
                               svn_revnum_t rev);
 
-/* Return TRUE if FS's format supports moves to be recorded natively. */
-svn_boolean_t
-svn_fs_fs__supports_move(svn_fs_t *fs);
-
 #endif

Propchange: subversion/trunk/subversion/libsvn_fs_x/
------------------------------------------------------------------------------
  Reverse-merged /subversion/trunk/subversion/libsvn_fs_fs:r1596501-1597226

Modified: subversion/trunk/subversion/libsvn_fs_x/low_level.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/low_level.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/low_level.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/low_level.c Wed May 28 12:24:05 2014
@@ -55,8 +55,6 @@
 #define ACTION_DELETE      "delete"
 #define ACTION_REPLACE     "replace"
 #define ACTION_RESET       "reset"
-#define ACTION_MOVE        "move"
-#define ACTION_MOVEREPLACE "movereplace"
 
 /* True and False flags. */
 #define FLAG_TRUE          "true"
@@ -808,14 +806,6 @@ read_change(change_t **change_p,
     {
       info->change_kind = svn_fs_path_change_reset;
     }
-  else if (strcmp(str, ACTION_MOVE) == 0)
-    {
-      info->change_kind = svn_fs_path_change_move;
-    }
-  else if (strcmp(str, ACTION_MOVEREPLACE) == 0)
-    {
-      info->change_kind = svn_fs_path_change_movereplace;
-    }
   else
     {
       return svn_error_create(SVN_ERR_FS_CORRUPT, NULL,
@@ -971,12 +961,6 @@ write_change_entry(svn_stream_t *stream,
     case svn_fs_path_change_reset:
       change_string = ACTION_RESET;
       break;
-    case svn_fs_path_change_move:
-      change_string = ACTION_MOVE;
-      break;
-    case svn_fs_path_change_movereplace:
-      change_string = ACTION_MOVEREPLACE;
-      break;
     default:
       return svn_error_createf(SVN_ERR_FS_CORRUPT, NULL,
                                _("Invalid change type %d"),

Modified: subversion/trunk/subversion/libsvn_fs_x/transaction.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/transaction.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/transaction.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/transaction.c Wed May 28 12:24:05 2014
@@ -940,8 +940,6 @@ fold_change(apr_hash_t *changes,
       if ((old_change->change_kind == svn_fs_path_change_delete)
           && (! ((info->change_kind == svn_fs_path_change_replace)
                  || (info->change_kind == svn_fs_path_change_reset)
-                 || (info->change_kind == svn_fs_path_change_movereplace)
-                 || (info->change_kind == svn_fs_path_change_move)
                  || (info->change_kind == svn_fs_path_change_add))))
         return svn_error_create
           (SVN_ERR_FS_CORRUPT, NULL,
@@ -949,8 +947,7 @@ fold_change(apr_hash_t *changes,
 
       /* Sanity check: an add can't follow anything except
          a delete or reset.  */
-      if ((   (info->change_kind == svn_fs_path_change_add)
-           || (info->change_kind == svn_fs_path_change_move))
+      if ((info->change_kind == svn_fs_path_change_add)
           && (old_change->change_kind != svn_fs_path_change_delete)
           && (old_change->change_kind != svn_fs_path_change_reset))
         return svn_error_create
@@ -967,8 +964,7 @@ fold_change(apr_hash_t *changes,
           break;
 
         case svn_fs_path_change_delete:
-          if ((old_change->change_kind == svn_fs_path_change_add)
-              || (old_change->change_kind == svn_fs_path_change_move))
+          if (old_change->change_kind == svn_fs_path_change_add)
             {
               /* If the path was introduced in this transaction via an
                  add, and we are deleting it, just remove the path
@@ -995,14 +991,6 @@ fold_change(apr_hash_t *changes,
           old_change->change_kind = svn_fs_path_change_replace;
           break;
 
-        case svn_fs_path_change_move:
-        case svn_fs_path_change_movereplace:
-          /* A move at this point must be following a previous delete,
-             so treat it just like a replacing move. */
-          replace_change(old_change, info, pool);
-          old_change->change_kind = svn_fs_path_change_movereplace;
-          break;
-
         case svn_fs_path_change_modify:
         default:
           if (info->text_mod)
@@ -1072,8 +1060,7 @@ process_changes(apr_hash_t *changed_path
       */
 
       if ((change->info.change_kind == svn_fs_path_change_delete)
-           || (change->info.change_kind == svn_fs_path_change_replace)
-           || (change->info.change_kind == svn_fs_path_change_movereplace))
+           || (change->info.change_kind == svn_fs_path_change_replace))
         {
           apr_hash_index_t *hi;
 
@@ -3021,17 +3008,6 @@ write_final_changed_path_info(apr_off_t 
 
   SVN_ERR(svn_fs_x__get_file_offset(&offset, file, pool));
 
-  /* all moves specify the "copy-from-rev" as REV-1 */
-  for (hi = apr_hash_first(pool, changed_paths); hi; hi = apr_hash_next(hi))
-    {
-      svn_fs_path_change2_t *change;
-      apr_hash_this(hi, NULL, NULL, (void **)&change);
-
-      if (   (change->change_kind == svn_fs_path_change_move)
-          || (change->change_kind == svn_fs_path_change_movereplace))
-        change->copyfrom_rev = new_rev - 1;
-    }
-
   /* write to target file & calculate checksum */
   stream = svn_checksum__wrap_write_stream_fnv1a_32x4(&entry.fnv1_checksum,
                              svn_stream_from_aprfile2(file, TRUE, pool),
@@ -3176,168 +3152,6 @@ verify_locks(svn_fs_t *fs,
   return SVN_NO_ERROR;
 }
 
-/* If CHANGE is move, verify that there is no other move with the same
-   copy-from path in SOURCE_PATHS already (parent or sub-node moves are fine).
-   Add the source path to SOURCE_PATHS after successful verification.
-   Allocate the hashed strings in POOL. */
-static svn_error_t *
-check_for_duplicate_move_source(apr_hash_t *source_paths,
-                                svn_fs_path_change2_t *change,
-                                apr_pool_t *pool)
-{
-  if (   change->change_kind == svn_fs_path_change_move
-      || change->change_kind == svn_fs_path_change_movereplace)
-    if (change->copyfrom_path)
-      {
-        apr_size_t len = strlen(change->copyfrom_path);
-        if (apr_hash_get(source_paths, change->copyfrom_path, len))
-          return svn_error_createf(SVN_ERR_FS_AMBIGUOUS_MOVE, NULL,
-                      _("Path '%s' has been moved to more than one target"),
-                                   change->copyfrom_path);
-
-        apr_hash_set(source_paths,
-                     apr_pstrmemdup(pool, change->copyfrom_path, len),
-                     len,
-                     change->copyfrom_path);
-      }
-
-  return SVN_NO_ERROR;
-}
-
-/* Verify that the moves we are about to commit with TXN_ID in FS are unique
-   and the respective copy sources have been deleted.  OLD_REV is the last
-   committed revision.  CHANGED_PATHS is the list of changes paths in this
-   txn.  Use POOL for temporary allocations. */
-static svn_error_t *
-verify_moves(svn_fs_t *fs,
-             const svn_fs_txn_t *txn,
-             svn_revnum_t old_rev,
-             apr_hash_t *changed_paths,
-             apr_pool_t *pool)
-{
-  apr_hash_t *source_paths = apr_hash_make(pool);
-  svn_revnum_t revision;
-  apr_pool_t *iterpool = svn_pool_create(pool);
-  apr_hash_index_t *hi;
-  int i;
-  apr_array_header_t *moves
-    = apr_array_make(pool, 16, sizeof(svn_sort__item_t));
-  apr_array_header_t *deletions
-    = apr_array_make(pool, 16, sizeof(const char *));
-
-  /* extract moves and deletions from the current txn's change list */
-
-  for (hi = apr_hash_first(pool, changed_paths); hi; hi = apr_hash_next(hi))
-    {
-      const char *path;
-      apr_ssize_t len;
-      svn_fs_path_change2_t *change;
-      apr_hash_this(hi, (const void**)&path, &len, (void**)&change);
-
-      if (   change->copyfrom_path
-          && (   change->change_kind == svn_fs_path_change_move
-              || change->change_kind == svn_fs_path_change_movereplace))
-        {
-          svn_sort__item_t *item = apr_array_push(moves);
-          item->key = path;
-          item->klen = len;
-          item->value = change;
-        }
-
-      if (   change->change_kind == svn_fs_path_change_delete
-          || change->change_kind == svn_fs_path_change_replace
-          || change->change_kind == svn_fs_path_change_movereplace)
-        APR_ARRAY_PUSH(deletions, const char *) = path;
-    }
-
-  /* no moves? -> done here */
-
-  if (moves->nelts == 0)
-    return SVN_NO_ERROR;
-
-  /* correct the deletions that refer to moved paths and make them refer to
-     the paths in OLD_REV */
-
-  svn_sort__array(moves, svn_sort_compare_paths);
-
-  for (i = 0; i < deletions->nelts; ++i)
-    {
-      const char *deleted_path = APR_ARRAY_IDX(deletions, i, const char*);
-      int closest_move_idx
-        = svn_sort__bsearch_lower_bound(moves, deleted_path,
-                                        svn_sort_compare_paths);
-
-      if (closest_move_idx < moves->nelts)
-        {
-          svn_sort__item_t *closest_move_item
-            = &APR_ARRAY_IDX(moves, closest_move_idx, svn_sort__item_t);
-          const char *relpath
-            = svn_dirent_skip_ancestor(closest_move_item->key,
-                                       deleted_path);
-          if (relpath)
-            {
-              svn_fs_path_change2_t *closed_move = closest_move_item->value;
-              APR_ARRAY_IDX(deletions, i, const char*)
-                = svn_dirent_join(closed_move->copyfrom_path, relpath, pool);
-            }
-        }
-    }
-
-  svn_sort__array(deletions, svn_sort_compare_paths);
-
-  /* The _same_ source paths must never occur more than once in any move 
-     since our base revision. */
-
-  for (i = 0; moves->nelts; ++i)
-    SVN_ERR(check_for_duplicate_move_source (source_paths,
-                          APR_ARRAY_IDX(moves, i, svn_sort__item_t).value,
-                          pool));
-
-  for (revision = txn->base_rev + 1; revision <= old_rev; ++revision)
-    {
-      apr_array_header_t *changes;
-      change_t **changes_p;
-
-      svn_pool_clear(iterpool);
-      svn_fs_x__get_changes(&changes, fs, revision, iterpool);
-
-      changes_p = (change_t **)&changes->elts;
-      for (i = 0; i < changes->nelts; ++i)
-        SVN_ERR(check_for_duplicate_move_source(source_paths,
-                                                &changes_p[i]->info,
-                                                pool));
-    }
-
-  /* The move source paths must been deleted in this txn. */
-
-  for (i = 0; i < moves->nelts; ++i)
-    {
-      svn_fs_path_change2_t *change
-        = APR_ARRAY_IDX(moves, i, svn_sort__item_t).value;
-
-      /* there must be a deletion of move's copy-from path
-         (or any of its parents) */
-
-      int closest_deletion_idx
-        = svn_sort__bsearch_lower_bound(deletions, change->copyfrom_path,
-                                        svn_sort_compare_paths);
-      if (closest_deletion_idx < deletions->nelts)
-        {
-          const char *closest_deleted_path
-            = APR_ARRAY_IDX(deletions, closest_deletion_idx, const char *);
-          if (!svn_dirent_is_ancestor(closest_deleted_path,
-                                      change->copyfrom_path))
-            return svn_error_createf(SVN_ERR_FS_INCOMPLETE_MOVE, NULL,
-                        _("Path '%s' has been moved without being deleted"),
-                                     change->copyfrom_path);
-        }
-    }
-
-  svn_pool_destroy(iterpool);
-
-  return SVN_NO_ERROR;
-}
-
 /* Return in *PATH the path to a file containing the properties that
    make up the final revision properties file.  This involves setting
    svn:date and removing any temporary properties associated with the
@@ -3446,8 +3260,6 @@ commit_body(void *baton, apr_pool_t *poo
   SVN_ERR(svn_fs_x__txn_changes_fetch(&changed_paths, cb->fs, txn_id,
                                       pool));
 
-  SVN_ERR(verify_moves(cb->fs, cb->txn, old_rev, changed_paths, pool));
-
   /* We are going to be one better than this puny old revision. */
   new_rev = old_rev + 1;
 

Modified: subversion/trunk/subversion/libsvn_fs_x/tree.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_x/tree.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_x/tree.c (original)
+++ subversion/trunk/subversion/libsvn_fs_x/tree.c Wed May 28 12:24:05 2014
@@ -2461,9 +2461,6 @@ typedef enum copy_type_t
 
   /* add with history */
   copy_type_add_with_history,
-
-  /* move (always with history) */
-  copy_type_move
 } copy_type_t;
 
 /* Set CHANGES to TRUE if PATH in ROOT is unchanged in REVISION if the
@@ -2562,37 +2559,6 @@ copy_helper(svn_fs_root_t *from_root,
       (SVN_ERR_UNSUPPORTED_FEATURE, NULL,
        _("Copy immutable tree not supported"));
 
-  /* move support comes with a number of conditions ... */
-  if (copy_type == copy_type_move)
-    {
-      /* if we don't copy from the TXN's base rev, check that the path has
-         not been touched in that revision range */
-      if (from_root->rev != to_root->rev)
-        {
-          svn_boolean_t changed = TRUE;
-          svn_error_t *err = is_changed_node(&changed, from_root,
-                                             from_path, to_root->rev,
-                                             pool);
-
-          /* Only "not found" is considered to be caused by out-of-date-ness.
-             Everything else means something got very wrong ... */
-          if (err && err->apr_err != SVN_ERR_FS_NOT_FOUND)
-            return svn_error_trace(err);
-
-          /* here error means "out of data" */
-          if (err || changed)
-            {
-              svn_error_clear(err);
-              return svn_error_create(SVN_ERR_FS_OUT_OF_DATE, NULL,
-                                      _("Move-from node is out-of-date"));
-            }
-
-          /* always move from the txn's base rev */
-          SVN_ERR(svn_fs_x__revision_root(&from_root, from_root->fs,
-                                          to_root->rev, pool));
-        }
-    }
-
   /* Get the NODE for FROM_PATH in FROM_ROOT.*/
   SVN_ERR(get_dag(&from_node, from_root, from_path, TRUE, pool));
 
@@ -2629,19 +2595,13 @@ copy_helper(svn_fs_root_t *from_root,
          operation is a replacement, not an addition. */
       if (to_parent_path->node)
         {
-          kind = copy_type == copy_type_move
-               ? svn_fs_path_change_movereplace
-               : svn_fs_path_change_replace;
-
+          kind = svn_fs_path_change_replace;
           SVN_ERR(svn_fs_x__dag_get_mergeinfo_count(&mergeinfo_start,
                                                     to_parent_path->node));
         }
       else
         {
-          kind = copy_type == copy_type_move
-               ? svn_fs_path_change_move
-               : svn_fs_path_change_add;
-
+          kind = svn_fs_path_change_add;
           mergeinfo_start = 0;
         }
 
@@ -2738,26 +2698,6 @@ x_revision_link(svn_fs_root_t *from_root
 }
 
 
-/* Create a copy of FROM_PATH in FROM_ROOT named TO_PATH in TO_ROOT and mark
-   it as a Move.  If FROM_PATH is a directory, copy it recursively. 
-   Temporary allocations are from POOL.*/
-static svn_error_t *
-x_move(svn_fs_root_t *from_root,
-       const char *from_path,
-       svn_fs_root_t *to_root,
-       const char *to_path,
-       apr_pool_t *pool)
-{
-  return svn_error_trace(copy_helper(from_root,
-                                     svn_fs__canonicalize_abspath(from_path,
-                                                                  pool),
-                                     to_root,
-                                     svn_fs__canonicalize_abspath(to_path,
-                                                                  pool),
-                                     copy_type_move, pool));
-}
-
-
 /* Discover the copy ancestry of PATH under ROOT.  Return a relevant
    ancestor/revision combination in *PATH_P and *REV_P.  Temporary
    allocations are in POOL. */
@@ -4111,7 +4051,6 @@ static root_vtable_t root_vtable = {
   x_delete_node,
   x_copy,
   x_revision_link,
-  x_move,
   x_copied_from,
   x_closest_copy,
   x_node_prop,

Modified: subversion/trunk/subversion/libsvn_ra/compat.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/compat.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/compat.c (original)
+++ subversion/trunk/subversion/libsvn_ra/compat.c Wed May 28 12:24:05 2014
@@ -365,9 +365,8 @@ svn_ra__locations_from_log(svn_ra_sessio
      Notice that we always run on the youngest rev of the 3 inputs. */
   targets = apr_array_make(pool, 1, sizeof(const char *));
   APR_ARRAY_PUSH(targets, const char *) = path;
-  SVN_ERR(svn_ra_get_log3(session, targets, youngest, oldest, 0,
+  SVN_ERR(svn_ra_get_log2(session, targets, youngest, oldest, 0,
                           TRUE, FALSE, FALSE,
-                          svn_move_behavior_explicit_moves,
                           apr_array_make(pool, 0, sizeof(const char *)),
                           log_receiver, &lrb, pool));
 
@@ -588,9 +587,8 @@ svn_ra__location_segments_from_log(svn_r
      Notice that we always run on the youngest rev of the 3 inputs. */
   targets = apr_array_make(pool, 1, sizeof(const char *));
   APR_ARRAY_PUSH(targets, const char *) = path;
-  SVN_ERR(svn_ra_get_log3(session, targets, peg_revision, end_rev, 0,
+  SVN_ERR(svn_ra_get_log2(session, targets, peg_revision, end_rev, 0,
                           TRUE, FALSE, FALSE,
-                          svn_move_behavior_explicit_moves,
                           apr_array_make(pool, 0, sizeof(const char *)),
                           gls_log_receiver, &lrb, pool));
 
@@ -688,11 +686,10 @@ svn_ra__file_revs_from_log(svn_ra_sessio
   /* Accumulate revision metadata by walking the revisions
      backwards; this allows us to follow moves/copies
      correctly. */
-  SVN_ERR(svn_ra_get_log3(ra_session,
+  SVN_ERR(svn_ra_get_log2(ra_session,
                           condensed_targets,
                           end, start, 0, /* no limit */
                           TRUE, FALSE, FALSE,
-                          svn_move_behavior_explicit_moves,
                           NULL, fr_log_message_receiver, &lmb,
                           pool));
 
@@ -858,9 +855,8 @@ svn_ra__get_deleted_rev_from_log(svn_ra_
 
   /* Examine the logs of SESSION's URL to find when DELETED_PATH was first
      deleted or replaced. */
-  SVN_ERR(svn_ra_get_log3(session, NULL, peg_revision, end_revision, 0,
+  SVN_ERR(svn_ra_get_log2(session, NULL, peg_revision, end_revision, 0,
                           TRUE, TRUE, FALSE,
-                          svn_move_behavior_explicit_moves,
                           apr_array_make(pool, 0, sizeof(char *)),
                           log_path_del_receiver, &log_path_deleted_baton,
                           pool));

Modified: subversion/trunk/subversion/libsvn_ra/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/deprecated.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_ra/deprecated.c Wed May 28 12:24:05 2014
@@ -294,25 +294,6 @@ svn_error_t *svn_ra_do_diff(svn_ra_sessi
                          versus_url, diff_editor, diff_baton, pool);
 }
 
-svn_error_t *svn_ra_get_log2(svn_ra_session_t *session,
-                             const apr_array_header_t *paths,
-                             svn_revnum_t start,
-                             svn_revnum_t end,
-                             int limit,
-                             svn_boolean_t discover_changed_paths,
-                             svn_boolean_t strict_node_history,
-                             svn_boolean_t include_merged_revisions,
-                             const apr_array_header_t *revprops,
-                             svn_log_entry_receiver_t receiver,
-                             void *receiver_baton,
-                             apr_pool_t *pool)
-{
-  return svn_ra_get_log3(session, paths, start, end, limit,
-                         discover_changed_paths, strict_node_history,
-                         include_merged_revisions, svn_move_behavior_no_moves,
-                         revprops, receiver, receiver_baton, pool);
-}
-
 svn_error_t *svn_ra_get_log(svn_ra_session_t *session,
                             const apr_array_header_t *paths,
                             svn_revnum_t start,

Modified: subversion/trunk/subversion/libsvn_ra/ra_loader.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/ra_loader.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/ra_loader.c (original)
+++ subversion/trunk/subversion/libsvn_ra/ra_loader.c Wed May 28 12:24:05 2014
@@ -922,7 +922,7 @@ svn_error_t *svn_ra_do_diff3(svn_ra_sess
                                   diff_baton, pool);
 }
 
-svn_error_t *svn_ra_get_log3(svn_ra_session_t *session,
+svn_error_t *svn_ra_get_log2(svn_ra_session_t *session,
                              const apr_array_header_t *paths,
                              svn_revnum_t start,
                              svn_revnum_t end,
@@ -930,7 +930,6 @@ svn_error_t *svn_ra_get_log3(svn_ra_sess
                              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_log_entry_receiver_t receiver,
                              void *receiver_baton,
@@ -951,8 +950,8 @@ svn_error_t *svn_ra_get_log3(svn_ra_sess
 
   return session->vtable->get_log(session, paths, start, end, limit,
                                   discover_changed_paths, strict_node_history,
-                                  include_merged_revisions, move_behavior,
-                                  revprops, receiver, receiver_baton, pool);
+                                  include_merged_revisions, revprops,
+                                  receiver, receiver_baton, pool);
 }
 
 svn_error_t *svn_ra_check_path(svn_ra_session_t *session,

Modified: subversion/trunk/subversion/libsvn_ra/ra_loader.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/ra_loader.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/ra_loader.h (original)
+++ subversion/trunk/subversion/libsvn_ra/ra_loader.h Wed May 28 12:24:05 2014
@@ -200,7 +200,6 @@ typedef struct svn_ra__vtable_t {
                           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_log_entry_receiver_t receiver,
                           void *receiver_baton,

Modified: subversion/trunk/subversion/libsvn_ra/wrapper_template.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/wrapper_template.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/wrapper_template.h (original)
+++ subversion/trunk/subversion/libsvn_ra/wrapper_template.h Wed May 28 12:24:05 2014
@@ -395,7 +395,6 @@ static svn_error_t *compat_get_log(void 
   return VTBL.get_log(session_baton, paths, start, end, 0, /* limit */
                       discover_changed_paths, strict_node_history,
                       FALSE, /* include_merged_revisions */
-                      svn_move_behavior_no_moves,
                       svn_compat_log_revprops_in(pool), /* revprops */
                       receiver2, receiver2_baton, pool);
 }

Modified: subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c (original)
+++ subversion/trunk/subversion/libsvn_ra_local/ra_plugin.c Wed May 28 12:24:05 2014
@@ -1036,7 +1036,6 @@ svn_ra_local__get_log(svn_ra_session_t *
                       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_log_entry_receiver_t receiver,
                       void *receiver_baton,
@@ -1065,7 +1064,7 @@ svn_ra_local__get_log(svn_ra_session_t *
   receiver = log_receiver_wrapper;
   receiver_baton = &lb;
 
-  return svn_repos_get_logs5(sess->repos,
+  return svn_repos_get_logs4(sess->repos,
                              abs_paths,
                              start,
                              end,
@@ -1073,7 +1072,6 @@ svn_ra_local__get_log(svn_ra_session_t *
                              discover_changed_paths,
                              strict_node_history,
                              include_merged_revisions,
-                             move_behavior,
                              revprops,
                              NULL, NULL,
                              receiver,

Modified: subversion/trunk/subversion/libsvn_ra_serf/log.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/log.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/log.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/log.c Wed May 28 12:24:05 2014
@@ -78,7 +78,6 @@ typedef struct log_context_t {
   svn_boolean_t 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;
   int nest_level; /* used to track mergeinfo nesting levels */
   int count; /* only incremented when nest_level == 0 */
@@ -473,15 +472,6 @@ create_log_body(serf_bucket_t **body_bkt
                                    alloc);
     }
 
-  if (log_ctx->move_behavior != svn_move_behavior_no_moves)
-    {
-      const char *value = svn_move_behavior_to_word(log_ctx->move_behavior);
-      svn_ra_serf__add_tag_buckets(buckets,
-                                   "S:move-behavior",
-                                   value,
-                                   alloc);
-    }
-
   if (log_ctx->revprops)
     {
       int i;
@@ -538,7 +528,6 @@ svn_ra_serf__get_log(svn_ra_session_t *r
                      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_log_entry_receiver_t receiver,
                      void *receiver_baton,
@@ -563,7 +552,6 @@ svn_ra_serf__get_log(svn_ra_session_t *r
   log_ctx->changed_paths = discover_changed_paths;
   log_ctx->strict_node_history = strict_node_history;
   log_ctx->include_merged_revisions = include_merged_revisions;
-  log_ctx->move_behavior = move_behavior;
   log_ctx->revprops = revprops;
   log_ctx->nest_level = 0;
 

Modified: subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/ra_serf.h Wed May 28 12:24:05 2014
@@ -1337,7 +1337,6 @@ svn_ra_serf__get_log(svn_ra_session_t *s
                      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_log_entry_receiver_t receiver,
                      void *receiver_baton,

Modified: subversion/trunk/subversion/libsvn_ra_svn/client.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/client.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/trunk/subversion/libsvn_ra_svn/client.c Wed May 28 12:24:05 2014
@@ -1633,7 +1633,6 @@ perform_ra_svn_log(svn_error_t **outer_e
                    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_log_entry_receiver_t receiver,
                    void *receiver_baton,
@@ -1683,13 +1682,11 @@ perform_ra_svn_log(svn_error_t **outer_e
           else
             want_custom_revprops = TRUE;
         }
-      SVN_ERR(svn_ra_svn__write_tuple(conn, pool, "!)w)",
-                                svn_move_behavior_to_word(move_behavior)));
+      SVN_ERR(svn_ra_svn__write_tuple(conn, pool, "!))"));
     }
   else
     {
-      SVN_ERR(svn_ra_svn__write_tuple(conn, pool, "!w()w)", "all-revprops",
-                                svn_move_behavior_to_word(move_behavior)));
+      SVN_ERR(svn_ra_svn__write_tuple(conn, pool, "!w())", "all-revprops"));
 
       want_author = TRUE;
       want_date = TRUE;
@@ -1861,7 +1858,6 @@ ra_svn_log(svn_ra_session_t *session,
            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_log_entry_receiver_t receiver,
            void *receiver_baton, apr_pool_t *pool)
@@ -1876,7 +1872,7 @@ ra_svn_log(svn_ra_session_t *session,
                                            discover_changed_paths,
                                            strict_node_history,
                                            include_merged_revisions,
-                                           move_behavior, revprops,
+                                           revprops,
                                            receiver, receiver_baton,
                                            pool));
   return svn_error_trace(

Modified: subversion/trunk/subversion/libsvn_repos/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_repos/deprecated.c?rev=1597989&r1=1597988&r2=1597989&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_repos/deprecated.c (original)
+++ subversion/trunk/subversion/libsvn_repos/deprecated.c Wed May 28 12:24:05 2014
@@ -482,30 +482,6 @@ svn_repos_fs_get_locks(apr_hash_t **lock
 
 /*** From logs.c ***/
 svn_error_t *
-svn_repos_get_logs4(svn_repos_t *repos,
-                    const apr_array_header_t *paths,
-                    svn_revnum_t start,
-                    svn_revnum_t end,
-                    int limit,
-                    svn_boolean_t discover_changed_paths,
-                    svn_boolean_t strict_node_history,
-                    svn_boolean_t include_merged_revisions,
-                    const apr_array_header_t *revprops,
-                    svn_repos_authz_func_t authz_read_func,
-                    void *authz_read_baton,
-                    svn_log_entry_receiver_t receiver,
-                    void *receiver_baton,
-                    apr_pool_t *pool)
-{
-  return svn_repos_get_logs5(repos, paths, start, end, limit,
-                             discover_changed_paths, strict_node_history,
-                             include_merged_revisions,
-                             svn_move_behavior_no_moves, revprops,
-                             authz_read_func, authz_read_baton,
-                             receiver, receiver_baton, pool);
-}
-
-svn_error_t *
 svn_repos_get_logs3(svn_repos_t *repos,
                     const apr_array_header_t *paths,
                     svn_revnum_t start,