Hello Subversion devs.
I had a thought that, as the move-tracking experimental design I was
working on a few years ago isn't heading anywhere, we should remove the
associated code, as it is better to keep a cleaner codebase on trunk and
releases.
The associated code is almost entirely decoupled from the public
interfaces. (There was one undocumented environment-variable: see in
the patch below.) Therefore there seems to be no impact from removing
it. I did one basic test run ('make svnserveautocheck') at r1915144 and
all those tests pass.
I am happy to commit this patch if the community agrees.
It looks like this:
[[[
Remove the old move-tracking experiment.
No impact on public functionality. (There was one undocumented
environment-variable.)
]]]
[[[
$ svn diff --no-diff-deleted
Index: LICENSE
===================================================================
--- LICENSE (revision 1915144)
+++ LICENSE (working copy)
@@ -367,35 +367,6 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-For the (modified) 'linenoise' library in tools/dev/svnmover/linenoise
-
- Copyright (c) 2010-2014, Salvatore Sanfilippo <antirez at gmail dot com>
- Copyright (c) 2010-2013, Pieter Noordhuis <pcnoordhuis at gmail dot com>
-
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
notice,
- this list of conditions and the following disclaimer in the
documentation
- and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
For the (modified) LZ4 library files in subversion/libsvn_subr/lz4
LZ4 Library
Index: build/generator/gen_base.py
===================================================================
--- build/generator/gen_base.py (revision 1915144)
+++ build/generator/gen_base.py (working copy)
@@ -664,7 +664,7 @@
TargetLinked.add_dependencies(self)
# collect test programs
- if 'svnauthz' in self.name or 'svnmover' in self.name: # special case
+ if 'svnauthz' in self.name: # special case
self.gen_obj.test_deps.append(self.filename)
self.gen_obj.test_helpers.append(self.filename)
elif self.install == 'test':
Index: build.conf
===================================================================
--- build.conf (revision 1915144)
+++ build.conf (working copy)
@@ -48,8 +48,6 @@
subversion/bindings/cxx/tests/*.hpp
subversion/bindings/javahl/native/*.hpp
subversion/bindings/javahl/native/jniwrapper/jni_*.hpp
- tools/dev/svnmover/linenoise/linenoise.h
- tools/dev/svnmover/linenoise/linenoise.c
subversion/libsvn_subr/utf8proc/utf8proc_internal.h
subversion/libsvn_subr/utf8proc/utf8proc.c
subversion/libsvn_subr/utf8proc/utf8proc_data.c
@@ -258,7 +256,7 @@
install = fsmod-lib
path = subversion/libsvn_delta
libs = libsvn_subr aprutil apriconv apr zlib
-msvc-export = svn_delta.h private/svn_editor.h
private/svn_delta_private.h private/svn_element.h private/svn_branch.h
private/svn_branch_compat.h private/svn_branch_impl.h
private/svn_branch_nested.h private/svn_branch_repos.h
+msvc-export = svn_delta.h private/svn_editor.h private/svn_delta_private.h
# Routines for diffing
[libsvn_diff]
@@ -1576,7 +1574,7 @@
svnversion
mod_authz_svn mod_dav_svn mod_dontdothat
svnauthz svnauthz-validate svnraisetreeconflict
- svnfsfs svnbench svnmover
+ svnfsfs svnbench
[__ALL_TESTS__]
type = project
@@ -1745,14 +1743,6 @@
install = tools
libs = libsvn_subr apr
-[svnmover]
-description = Subversion Mover Command Client
-type = exe
-path = tools/dev/svnmover
-sources = *.c
-libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta apriconv apr
-install = tools
-
[svnconflict]
type = exe
path = tools/client-side/svnconflict
Index: notes/move-tracking/README (deleted)
===================================================================
Index: notes/move-tracking/element-model/CommitBranch1.pdf (deleted)
===================================================================
Index: notes/move-tracking/element-model/MergeBranch1.pdf (deleted)
===================================================================
Index: notes/move-tracking/element-model/NestedBranches.svg (deleted)
===================================================================
Index: notes/move-tracking/element-model/TopLevelBranches.svg (deleted)
===================================================================
Index: notes/move-tracking/element-model/moves-element-model.html (deleted)
===================================================================
Index: notes/move-tracking/element-model/moves-element-model.lyx (deleted)
===================================================================
Index: notes/move-tracking/path_pairs_to_eid_map.py (deleted)
===================================================================
Index: subversion/include/private/svn_branch.h (deleted)
===================================================================
Index: subversion/include/private/svn_branch_compat.h (deleted)
===================================================================
Index: subversion/include/private/svn_branch_impl.h (deleted)
===================================================================
Index: subversion/include/private/svn_branch_nested.h (deleted)
===================================================================
Index: subversion/include/private/svn_branch_repos.h (deleted)
===================================================================
Index: subversion/include/private/svn_element.h (deleted)
===================================================================
Index: subversion/libsvn_client/client.h
===================================================================
--- subversion/libsvn_client/client.h (revision 1915144)
+++ subversion/libsvn_client/client.h (working copy)
@@ -1198,22 +1198,6 @@
} merge_target_t;
-/*
- * Similar API to svn_client_merge_peg5().
- */
-svn_error_t *
-svn_client__merge_elements(svn_boolean_t *use_sleep,
- apr_array_header_t *merge_sources,
- merge_target_t *target,
- svn_ra_session_t *ra_session,
- svn_boolean_t diff_ignore_ancestry,
- svn_boolean_t force_delete,
- svn_boolean_t dry_run,
- const apr_array_header_t *merge_options,
- svn_client_ctx_t *ctx,
- apr_pool_t *result_pool,
- apr_pool_t *scratch_pool);
-
/* Data for reporting when a merge aborted because of raising conflicts.
*
* ### TODO: More info, including the ranges (or other parameters) the
user
Index: subversion/libsvn_client/merge.c
===================================================================
--- subversion/libsvn_client/merge.c (revision 1915144)
+++ subversion/libsvn_client/merge.c (working copy)
@@ -12016,21 +12016,6 @@
/* Do the real merge! (We say with confidence that our merge
sources are both ancestral and related.) */
- if (getenv("SVN_ELEMENT_MERGE")
- && same_repos
- && (depth == svn_depth_infinity || depth == svn_depth_unknown)
- && ignore_mergeinfo
- && !record_only)
- {
- err = svn_client__merge_elements(&use_sleep,
- merge_sources, target, ra_session,
- diff_ignore_ancestry, force_delete,
- dry_run, merge_options,
- ctx, result_pool, scratch_pool);
- /* ### Currently this merge just errors out on any conflicts */
- *conflict_report = NULL;
- }
- else
err = do_merge(NULL, NULL, conflict_report, &use_sleep,
merge_sources, target, ra_session,
TRUE /*sources_related*/, same_repos, ignore_mergeinfo,
Index: subversion/libsvn_client/merge_elements.c (deleted)
===================================================================
Index: subversion/libsvn_delta/branch.c (deleted)
===================================================================
Index: subversion/libsvn_delta/branch_compat.c (deleted)
===================================================================
Index: subversion/libsvn_delta/branch_migrate.c (deleted)
===================================================================
Index: subversion/libsvn_delta/branch_nested.c (deleted)
===================================================================
Index: subversion/libsvn_delta/branch_repos.c (deleted)
===================================================================
Index: subversion/libsvn_delta/element.c (deleted)
===================================================================
Index: subversion/tests/cmdline/svnmover_tests.py (deleted)
===================================================================
Index: subversion/tests/cmdline/svntest/actions.py
===================================================================
--- subversion/tests/cmdline/svntest/actions.py (revision 1915144)
+++ subversion/tests/cmdline/svntest/actions.py (working copy)
@@ -432,27 +432,6 @@
return output
-def run_and_verify_svnmover(expected_stdout, expected_stderr,
- *varargs):
- """Run svnmover command and check its output"""
-
- expected_exit = 0
- if expected_stderr is not None and expected_stderr != []:
- expected_exit = 1
- return run_and_verify_svnmover2(expected_stdout, expected_stderr,
- expected_exit, *varargs)
-
-def run_and_verify_svnmover2(expected_stdout, expected_stderr,
- expected_exit, *varargs):
- """Run svnmover command and check its output and exit code."""
-
- exit_code, out, err = main.run_svnmover(*varargs)
- verify.verify_outputs("Unexpected output", out, err,
- expected_stdout, expected_stderr)
- verify.verify_exit_code("Unexpected return code", exit_code,
expected_exit)
- return exit_code, out, err
-
-
def run_and_verify_svnmucc(expected_stdout, expected_stderr,
*varargs):
"""Run svnmucc command and check its output"""
Index: subversion/tests/cmdline/svntest/main.py
===================================================================
--- subversion/tests/cmdline/svntest/main.py (revision 1915144)
+++ subversion/tests/cmdline/svntest/main.py (working copy)
@@ -209,7 +209,6 @@
svnauthz_validate_binary = os.path.abspath(
'../../../tools/server-side/svnauthz-validate' + _exe
)
-svnmover_binary =
os.path.abspath('../../../tools/dev/svnmover/svnmover' + _exe)
# Where to find the libtool script created during build
libtool_script = os.path.abspath('../../../libtool')
@@ -905,12 +904,6 @@
as list of lines (including line terminators)."""
return run_command(svnversion_binary, 1, False, *varargs)
-def run_svnmover(*varargs):
- """Run svnmover with VARARGS, returns exit code as int; stdout, stderr as
- list of lines (including line terminators)."""
- return run_command(svnmover_binary, 1, False,
- *(_with_auth(_with_config_dir(varargs))))
-
def run_svnmucc(*varargs):
"""Run svnmucc with VARARGS, returns exit code as int; stdout, stderr as
list of lines (including line terminators). Use binary mode for
output."""
@@ -2500,7 +2493,6 @@
global svnsync_binary
global svndumpfilter_binary
global svnversion_binary
- global svnmover_binary
global svnmucc_binary
global svnauthz_binary
global svnauthz_validate_binary
@@ -2610,7 +2602,6 @@
svnauthz_binary = os.path.join(options.tools_bin, 'svnauthz' + _exe)
svnauthz_validate_binary = os.path.join(options.tools_bin,
'svnauthz-validate' + _exe)
- svnmover_binary = os.path.join(options.tools_bin, 'svnmover' + _exe)
######################################################################
Index: tools/dev/svnmover/linenoise/LICENSE (deleted)
===================================================================
Index: tools/dev/svnmover/linenoise/README.markdown (deleted)
===================================================================
Index: tools/dev/svnmover/linenoise/linenoise.c (deleted)
===================================================================
Index: tools/dev/svnmover/linenoise/linenoise.h (deleted)
===================================================================
Index: tools/dev/svnmover/merge3.c (deleted)
===================================================================
Index: tools/dev/svnmover/ra.c (deleted)
===================================================================
Index: tools/dev/svnmover/scanlog.c (deleted)
===================================================================
Index: tools/dev/svnmover/svnmover.c (deleted)
===================================================================
Index: tools/dev/svnmover/svnmover.h (deleted)
===================================================================
Index: tools/dev/svnmover/util.c (deleted)
===================================================================
]]]
--
- Julian Foad
--
- Matrix me: @julian:foad.me.uk <https://matrix.to/#/@julian:foad.me.uk>
- Follow me: @jul...@fed.foad.me.uk <https://fed.foad.me.uk/julian>