Checkout Tools
  • last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Move the command-line client and its tests into "svn" subdirs instead

of "clients/cmdline" subdirs, and patchup multivarious references to

those paths.

* subversion/svn

Moved from subversion/clients/cmdline.

* subversion/tests/svn

Moved from subversion/tests/clients/cmdline.

* subversion/clients,

* subversion/tests/clients



* build.conf,


* www/hacking.html,

* notes/releases.txt,

* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests/,

* subversion/tests/README,

* subversion/tests/svn/xmltests/,

* subversion/tests/svn/xmltests/,

* subversion/tests/svn/README,

* subversion/tests/svn/svntest/,

* subversion/tests/svn/svntest/,

* subversion/tests/svn/,

* subversion/libsvn_ra_dav/log.c,

* build/win32/,

* build/win32/,

* tools/test-scripts/svntest/,

* tools/test-scripts/svntest/mod_dav_svn.conf,

* contrib/client-side/,


* packages/rpm/redhat-7.x/install.patch,

* packages/rpm/redhat-7.x/subversion.spec,

* packages/rpm/redhat-7.x/httpd.davcheck.conf,

* packages/rpm/redhat-8+/install.patch,

* packages/rpm/redhat-8+/subversion.spec,

* packages/rpm/redhat-8+/httpd.davcheck.conf,

* packages/rpm/rhel-3/install.patch,

* packages/rpm/rhel-3/subversion.spec,

* packages/rpm/rhel-3/httpd.davcheck.conf,

* packages/rpm/rhel-4/install.patch,

* packages/rpm/rhel-4/subversion.spec,

* packages/rpm/rhel-4/httpd.davcheck.conf

Update references to the "clients", "clients/cmdline",

"tests/clients", or "tests/clients/cmdline" directories

to point to the correct new location.

### NOTE: Here are some versioned items *NOT* patched up, and the

### reasons I didn't touch them in this commit.

* subversion/po/*

Being PO-ignorant, I dunno if the paths in these files are

magical or not, and didn't want to change files that appear to

be pegged to older versions of Subversion:

"Project-Id-Version: subversion 1.1.0\n"

"POT-Creation-Date: 2005-08-20 02:31+0200\n"

"PO-Revision-Date: 2005-11-30 17:26-0500\n"

* tools/dev/gcov.patch

This patch should be touched for up-to-dateness altogether.

* www/getting_subversion.html

This is a reference to the paths as they appear in tarballs, and

no tarballs have this path change.

* subversion/clients/cmdline/log-cmd.c

This is in a comment with an example of log output. No need to


  1. … 35 more files in changeset.
A follow-up to r17122 cleaning up the test for #2306.

* subversion/tests/clients/cmdline/

(refresh_read_only_attribute): Remove redundant test code which

isn't necessary for detecting future regressions.

When running the command-line tests, check the output of stderr before

checking stdout, since a difference in the former is likely to be a

better immediate indicator of what the problem is than the latter.

* subversion/tests/clients/cmdline/svntest/

(run_and_verify_svn): Exchange order of stdout and stderr checks so

that stderr is checked first.

Change double quotes to single quotes in help messages, for consistency.

* subversion/clients/cmdline/main.c

(svn_cl__options, svn_cl__cmd_table): Change double quotes to single quotes.

* subversion/tests/clients/cmdline/getopt_tests_data/svn_help_log_switch_stdout

Adjust accordingly.

  1. … 1 more file in changeset.
* subversion/tests/clients/cmdline/ Add a LockFile

directive to the httpd.conf, since some apache installs seem to

require it.

Unbreak the tests on Redhat 7.3 (python 2.2) which doesn't have True and False.

* subversion/tests/clients/cmdline/


revert_repos_to_wc_replace_with_props) : Change True, False to 1, 0.

* subversion/tests/clients/cmdline/

(info_moved_path) : Ditto. Also fixed spelling of "svntest.Failure".

* subversion/tests/clients/cmdline/




repos_to_wc_copy_replace_with_props) : Ditto.

* subversion/tests/clients/cmdline/

(info_nonhead) : Ditto. Also fixed spelling of "svntest.Failure".

Clean up a few bits of cruft in

* subversion/tests/clients/cmdline/

(diff_targets): Don't bother to check whether there was any output

to stderr after calling run_svn(), because that function will (since

r7808) raise an exception if we get unexpected output on stderr.

(diff_schedule_delete): Remove the first checkin command, which is a

no-op because we have no uncommitted changes at this point (and the

test isn't trying to test anything to do with that). Again, don't

bother to check whether there was unexpected stderr output, since

that's an impossible condition. Finally, don't bother assigning the

outputs of run_{and_verify}_svn() to anything, since we now don't

need them for anything.

Prevent failing tests from obstructing following tests by ensuring that

we always restore the current working directory after a failure.

This is substantially the same idea as r17231, except that while that

change updated tests that were XFailing (and so would obstruct any

new tests added to the end of the file), this change updates tests

that currently pass, and so is only really relevant to those of us who

would like to be able to use the tests to pinpoint regressions during


(Part of the reason that this change is necessary is r7808, which made

run_svn() and friends raise an exception if any unexpected output to

stderr was seen.)

Again, the majority of this change simply re-indents existing code (and

where it doesn't, it's noted below). 'diff -w' turns the result into

something that's actually reviewable.

In some cases, these changes result in 'check' functions being called

from the working copy directory, where previously they were called from

the original working directory. However, these functions just check

the expected stdout, so the directory they're running from is immaterial.

* subversion/tests/clients/cmdline/

(diff_check_repo_subset, just_diff, update_diff, repo_diff,

diff_repo_subset): Use try and finally to ensure that the current

working directory is always restored.

(diff_pure_repository_update_a_file): Use try and finally, as above.

Additionally, stop gratuitously bouncing in and out of the working

copy directory to call some of the check functions and URL-based

repos-repos diffs, since these don't care if we stay in the working

copy or not (and the repos-repos tests don't appear to have been

intended specifically to test this: r1024 is the revision to look

at if you're interested).

(diff_renamed_file): Use try and finally, as above. Additionally,

create local variables to hold the OS paths of the two test files

(A/D/G/pi and A/D/pi2), so that the re-indentation doesn't push us

over the 80-column boundary.

New XFail test for testing repos-wc diffs that combine repos->BASE

propchanges with BASE->WORKING propchanges.

* subversion/tests/clients/cmdline/

(diff_prop_change_local_propmod): New test.

(test_list): Add the new test, as XFail.

Fix test failure on Windows, follow-up to r17216.

Patch by: lundblad


* subversion/tests/clients/cmdline/

(removal_schedule_added_props): Use OS path style for program output.

Fix issue #1663 (reverting file with locally modified keywords doesn't revert).

* subversion/include/svn_wc.h

* subversion/libsvn_wc/questions.h

* subversion/libsvn_wc/questions.c

(svn_wc_text_modified_p2): New. Extend svn_wc_text_modified_p with

the possibility to compare 'working copy form' files.


compare_and_verify): Extend with the above comparison.

(svn_wc_text_modified_p): Deprecate.

* subversion/libsvn_wc/questions.c

(translate_from_normal_form): New. Helper for

svn_wc__versioned_file_modcheck and verify_and_compare to create

a 'working copy form' temporary file.

* subversion/tests/clients/cmdline/

(test_list): Unmark revert_reexpand_keyword XFAIL.

* subversion/libsvn_wc/diff.c

* subversion/libsvn_wc/log.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/commit_util.c

Update callers to svn_wc_text_modified_p2.

  1. … 10 more files in changeset.
Follow up improvements to r17216 and r17217.

Patch by: Madan U Sreenivasan <>

* subversion/libsvn_wc/adm_ops.c

(svn_wc_delete2): Cleaned up a bit and used a better variable name.

* subversion/tests/clients/cmdline/

(removal_schedule_added_props): Modified to be more robust and verify

that all preparatory steps have succeeded.

  1. … 1 more file in changeset.
* subversion/tests/clients/cmdline/ (test_list): Unmark issue #2306-test XFAIL.
Regression test for issue #2435: 'mv --force' should not lose local mods.

Patch by: Madan U Sreenivasan <>

(Tweaked very slightly by me.)

* subversion/tests/clients/cmdline/

(force_move): New test.

(test_list): Run it.

Make testsuite work on Windows, if path to Python contain spaces.

* subversion/tests/clients/cmdline/svntest/

(create_python_hook_script): Add quotes around path to Python.

Fix Windows test failures.

* subversion/tests/clients/cmdline/

(post_commit_hook_test): Tweak expected output -- no newline from hook.

* subversion/tests/clients/cmdline/svntest/

(create_failing_post_commit_hook): Don't output a newline from hook.

Extend XFailing diff_tests test 30 to test another similar condition:

repos-wc diffs against WORKING with a binary svn:mime-type in BASE

(this test already tests the reverse: diffs against BASE with a binary

svn:mime-type in WORKING).

* subversion/tests/clients/cmdline/

(diff_mime_type_changes): (was diff_mime_type_change_to_base): Add

new test conditions. Also rename expected output variables to

remove references to a specific repository revision, rename test,

and change test description.

* subversion/tests/clients/cmdline/svntest/

(create_python_hook_script): Avoid incorrect use of os.path.join. Simplify

code. Followup to r17275.

Rename "disable_commits" function to "create_failing_post_commit_hook",

to better reflect its purpose. Followup to r17285.

* subversion/tests/clients/cmdline/svntest/

(create_failing_post_commit_hook): Rename from "disable_commits". Update

output text to reflect purpose of function.

* subversion/tests/clients/cmdline/

(post_commit_hook_test): Update usage of "create_failing_post_commit_hook".

Add whitespace to warning messages in post-commit hooks, for the sake

of better readability.

* subversion/clients/cmdline/util.c

(svn_cl__print_commit_info): Add whitespace.

* subversion/tests/clients/cmdline/

(post_commit_hook_test): Update expected output.

  1. … 1 more file in changeset.
Move logic for disabling commits into a separate function.

* subversion/tests/clients/cmdline/svntest/

(disable_commits): New function. Disables commits.

* subversion/tests/clients/cmdline/

(post_commit_hook_test): Use the disable_commits function.

Suggested by: philip

Simplify implementation of enable_revprop_changes by using

get_pre_revprop_change_hook_path and create_python_hook_script.

* subversion/tests/clients/cmdline/svntest/

(enable_revprop_changes): Simplify implementation.

* svntest/

(get_pre_revprop_change_hook_path): New function.

Issue #443: Post-commit hook script (error) output lost.

Fix portability issues in commit_tests 34.

* subversion/tests/clients/cmdline/

(post_commit_hook_test): Use the create_python_hook_script function

for better portability.

* subversion/tests/clients/cmdline/svntest/

(create_python_hook_script): New function. Creates a portable Python based

hook script.

Patch by: Madan U Sreenivasan <>

(Tweaked by me.)

Review by: malcolm


Fix diff of add against schedule delete output so that it displays an

empty diff with the correct header. Add regression test to verify


* subversion/libsvn_wc/diff.c

(delete_entry): Push use of empty file down into code farther

so that we can still display the correct header, and mark

the diff as done.

* subversion/tests/clients/cmdline/

(diff_schedule_deleted): New regression test.

  1. … 1 more file in changeset.
New XFail test for testing repos-wc diffs against BASE with a local

svn:mime-type property modification.

* subversion/tests/clients/cmdline/

(diff_mime_type_change_to_base): New test.

(test_list): Add the new test, as XFail.

Update an XFail test which was failing for the wrong reason. It was failing

because, since the "diff" command was updated to work with peg revisions, it

doesn't allow diffing against a revision in which the target did not exist.

* subversion/tests/clients/cmdline/

(diff_prop_change_local_edit): Change some diffs against r0 to diffs against

r1, and remove others (that were not needed).

Add error checking for command-line arguments to the Python regression tests.

Previously, a bad option would cause the test file to run in a default mode

as if no arguments were given, and any extra test numbers were ignored.

* subversion/tests/clients/cmdline/svntest/

(run_tests): Allow errors in option and argument parsing to be reported.

Report an error if there are extra arguments.

* subversion/libsvn_wc/copy.c (svn_wc_copy2): Fix issue #2436;

svn mv --force <unversioned file> <unversioned file> segfaults.

  1. … 1 more file in changeset.
Add regression test for issue #2436: moving an unversioned file seg faults.

* subversion/tests/clients/cmdline/

(mv_unversioned_file): New test, XFail.

Ensure that local property modifications aren't reported during repos-wc

diffs against BASE (svn diff -rN:BASE or -rBASE:N), by reporting against

the BASE properties rather than the WORKING properties.

wc-wc diffs (BASE:WORKING) are unaffected.

* subversion/libsvn_wc/diff.c

(close_directory, close_file): If diffing against the text-base,

use the BASE properties (instead of the cached WORKING properties)

as a base to pass, together with the BASE->repos propchanges, to

the diff callback functions.

* subversion/tests/clients/cmdline/

(test_list): Unmark diff_property_changes_to_base as XFail.

  1. … 1 more file in changeset.