Checkout Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make testsuite work on Windows, if path to Python contain spaces.

* subversion/tests/clients/cmdline/svntest/main.py

(create_python_hook_script): Add quotes around path to Python.

* subversion/tests/clients/cmdline/svntest/main.py

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

code. Followup to r17275.

Simplify implementation of enable_revprop_changes by using

get_pre_revprop_change_hook_path and create_python_hook_script.

* subversion/tests/clients/cmdline/svntest/actions.py

(enable_revprop_changes): Simplify implementation.

* svntest/main.py

(get_pre_revprop_change_hook_path): New function.

  1. … 1 more file in changeset.
Issue #443: Post-commit hook script (error) output lost.

Fix portability issues in commit_tests 34.

* subversion/tests/clients/cmdline/commit_tests.py

(post_commit_hook_test): Use the create_python_hook_script function

for better portability.

* subversion/tests/clients/cmdline/svntest/main.py

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

hook script.

Patch by: Madan U Sreenivasan <madan@collab.net>

(Tweaked by me.)

Review by: malcolm

me

  1. … 1 more file in changeset.
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/main.py

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

Report an error if there are extra arguments.

* subversion/tests/clients/cmdline/svntest/main.py:

Fix typo. Followup to r17098.

Report termination due to signals (segfaults) on platforms which support it.

* subversion/tests/clients/cmdline/svntest/main.py

(SVNProcessTerminatedBySignal): Exception to raise on abnormal

subprocess termination due to a signal.

(platform_with_os_wait): New global indicating if we can call os.wait().

(run_command_stdin): Check the os.wait() return code, if possible.

Activate some Windows-specific behaviour on Cygwin too:

- SVN_ASP_DOT_NET_HACK

- Windows-specific augmented file:// URLs

* subversion/libsvn_ra_local/split_url.c (svn_ra_local__split_URL):

Activate Windows-specific augmented file:// URL parsing on Cygwin too.

Make an implicit loss of const into an explicit cast to silence warning.

* subversion/svnversion/main.c (main):

* subversion/clients/cmdline/main.c (main):

* subversion/tests/clients/cmdline/svntest/main.py (get_admin_name):

Enable SVN_ASP_DOT_NET_HACK on Cygwin.

  1. … 3 more files in changeset.
Fix typo. Followup to r16266.

* subversion/tests/clients/cmdline/svntest/main.py

(create_config_dir): Fix typo ("Create", not "Ccreate").

Factor config dir creation in the Python tests into a single function.

[in subversion/tests/clients/cmdline]

* svntest/main.py (create_config_dir): New. Based on

autoprop_tests.create_config()

* autoprop_tests.py (create_config),

stat_tests.py (timestamp_behaviour): Use svntest.main.create_config_dir().

  1. … 2 more files in changeset.
Remove knowledge about the admin directory name from the public

API, preparing the way for run-time parameterisation.

NOTES:

- _svn is now always a reserved name, just like .svn.

- On Windows, setting the environment variable SVN_ASP_DOT_NET_HACK

will change the admin dir name to "_svn".

* subversion/include/svn_wc.h

(svn_wc_is_adm_dir, svn_wc_set_adm_dir): New prototypes.

(SVN_WC_ADM_DIR_NAME): Deprecate.

* subversion/libsvn_wc/adm_files.c: Include apr_atomic.h.

(DEFAULT_ADM_DIR_NAME): New constant.

(adm_dir_name) New file-scope variable.

(svn_wc_is_adm_dir, svn_wc_set_adm_dir): Implement.

(v_extend_with_adm_name): Use adm_dir_name instead of SVN_WC_ADM_DIR_NAME.

* subversion/libsvn_subr/cmdline.c: Include apr_atomic.h and apr_pools.h.

(svn_apr_initialize): New. Initialization for apr and apr-atomic.

(svn_cmdline_init) Use svn_apr_initialize instead of apr_initialize.

* subversion/libsvn_wc/copy.c (post_copy_cleanup): Call svn_wc__adm_path

to construct the path to the admin directory.

* subversion/libsvn_wc/adm_ops.c (erase_from_wc),

subversion/libsvn_wc/status.c (get_dir_status),

subversion/libsvn_wc/update_editor.c (add_directory),

subversion/libsvn_client/add.c (add_dir_recursive),

subversion/libsvn_client/commit.c (import_dir, svn_client_import2):

Call svn_wc_is_adm_dir instead of strcmp'ing with SVN_WC_ADM_DIR_NAME.

* subversion/libsvn_subr/opt.c (svn_opt_args_to_target_array2):

Check all valid admin dir names and document the fact that this

list a non-canonical copy.

* subversion/clients/cmdline/main.c,

subversion/svnversion/main.c,

tools/examples/minimal_client.c: On Windows, if the environment variable

SVN_ASP_DOT_NET_HACK is set, change the admin dir name to "_svn".

* win-tests.py: Add option --asp.net-hack to test with "_svn".

* subversion/tests/clients/cmdline/svntest/main.py (get_admin_name):

Return '.svn' or '_svn', depending on the environment.

* subversion/tests/clients/cmdline/basic_tests.py,

subversion/tests/clients/cmdline/cat_tests.py,

subversion/tests/clients/cmdline/trans_tests.py,

subversion/tests/clients/cmdline/update_tests.py:

Use svntest.main.get_admin_name() instead of explicit '.svn'.

  1. … 18 more files in changeset.
Fixed issue 2404 by disallowing copy or move (copy plus delete)

operations between working copies from different repositories.

* subversion/libsvn_wc/copy.c

(svn_wc_copy2): Open the svn_wc_adm_access_t * to src_path earlier,

still assuming that it is okay to bail out of this function if an

error is encountered without calling svn_wc_adm_close(). Use

svn_path_split_if_file() to dissect src_path_dir from src_path, and

grab its svn_wc_entry_t * for comparison of repository URIs to

dst_entry. Return an error if they don't match. Note that we

might now be able to avoid a call to svn_io_check_path() (since we

already have the node kind in hand at that point). I didn't remove

this in fear of removing necessary error checking.

* subversion/tests/clients/cmdline/copy_tests.py

(wc_to_wc_copy_between_different_repos): New test case confirming

that we do not allow WC to WC copy attempts between different

repositories.

(test_list): Added wc_to_wc_copy_between_different_repos to the

list.

* subversion/tests/clients/cmdline/svntest/main.py

(Sandbox): Updated the doc string.

(Sandbox.dependents): New list member (defaults to None).

(Sandbox.__init__): Refactored majorty of body into _set_name().

(Sandbox._set_name): New method used to reset an instance's name,

and other variables which derive their value from the name.

(Sandbox.clone_dependent): Creates a near-copy of the instance and

sets it as a dependent.

(Sandbox.cleanup_test_paths): Cleanup our dependents as well.

  1. … 2 more files in changeset.
* subversion/tests/clients/cmdline/svntest/main.py

(run_tests): When my_getopt() throws a getopt.GetoptError exception,

set both local variables "opts" and "args" to prevent an

UnboundLocalError when referencing "opts" later in the function.

This can occur when passing bogus arguments to a black box test,

such as --cleanup=1 (when only --cleanup is recognized).

* subversion/tests/clients/cmdline/svntest/main.py

(greek_state): Make default test file contents newline-terminated,

as has been documented in ../../greek-tree.txt all along.

Adjust all tests accordingly, occasionally tweaking other data to be

consistent with the policy that lines should be newline-terminated:

* subversion/tests/clients/cmdline/basic_tests.py

(basic_conflict,

basic_revert,

basic_switch,

basic_cat): Adjust.

* subversion/tests/clients/cmdline/commit_tests.py

(hudson_part_2_1,

merge_mixed_revisions): Adjust.

* subversion/tests/clients/cmdline/update_tests.py

(update_ignores_added,

receive_overlapping_same_change,

update_to_resolve_text_conflicts,

update_delete_modified_files,

non_recursive_update,

update_to_future_add,

nested_in_read_only): Adjust.

* subversion/tests/clients/cmdline/switch_tests.py

(get_routine_disk_state,

full_update,

commit_routine_switching,

update_switched_things,

rev_update_switched_things,

relocate_deleted_missing_copied,

nonrecursive_switching): Adjust.

* subversion/tests/clients/cmdline/copy_tests.py

(receive_copy_in_update,

wc_to_repos,

repos_to_wc,

url_copy_parent_into_child,

wc_copy_parent_into_child,

repos_to_wc_copy_eol_keywords): Adjust.

* subversion/tests/clients/cmdline/diff_tests.py

(diff_base_to_repos,

diff_deleted_in_head): Adjust.

* subversion/tests/clients/cmdline/export_tests.py

(export_eol_translation,

export_working_copy_with_property_mods,

export_native_eol_option): Adjust.

* subversion/tests/clients/cmdline/externals_tests.py

(externals_test_setup,

checkout_with_externals,

update_receive_change_under_external,

update_change_modified_external,

export_with_externals): Adjust.

* subversion/tests/clients/cmdline/merge_tests.py

(textual_merges_galore,

delete_file_and_dir,

simple_property_merges,

merge_catches_nonexistent_target,

merge_tree_deleted_in_target,

merge_one_file,

merge_in_new_file_and_diff,

safe_property_merge,

merge_with_implicit_target,

cherry_pick_text_conflict): Adjust.

* subversion/tests/clients/cmdline/trans_tests.py

(update_modified_with_translation,

cat_keyword_expansion,

propset_commit_checkout_nocrash): Adjust.

* subversion/tests/clients/cmdline/blame_tests.py

(blame_in_xml): Adjust.

* subversion/tests/clients/cmdline/history_tests.py

(cat_traces_renames): Adjust.

* subversion/tests/clients/cmdline/cat_tests.py

(cat_skip_uncattable): Adjust.

  1. … 13 more files in changeset.
Make it easier to run the tests in a ramdisk, by having tests put all

temporary data under one subtree, that is, under one mountable point.

* subversion/tests/clients/cmdline/svntest/main.py

(work_dir): New intermediate variable.

(general_repo_dir, general_wc_dir, local_tmp): Put in work_dir.

* INSTALL:

* tools/test-scripts/svntest/README:

* subversion/tests/clients/cmdline/README: Update instructions.

* Makefile.in

(check-clean): Clean up the new work directory.

* subversion/tests/clients/cmdline/davautocheck.sh

(HTTPD_CFG): Adjust httpd.conf template.

* build/win32/vc6-build.bat.in:

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

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

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

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

* subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/\

tests/SVNTests.java

(SVNTests): Add comments about the paths, but don't change them.

  1. … 11 more files in changeset.
* subversion/tests/clients/cmdline/svntest/main.py (run_tests): Move

the url-scrubbing code committed in r14407 down a bit so that we

also handle BASE_URL. Thanks to Philip Martin for the tip.

* subversion/tests/clients/cmdline/svntest/main.py (run_tests):

Normalize the url arg to have no trailing slash internally since

several tests rely on there *not* being one due to some braindead

URL joining work. Now all tests pass whether for '--url

http://localhost/' as well as '--url http://localhost'.

Use GNU-style getopt if available (Python >= 2.3) in the Python testsuite, to

allow arguments and options to be freely intermixed.

Fixes issue 2237.

* subversion/tests/clients/cmdline/svntest/main.py:

Call getopt.gnu_getopt() if it exists,

otherwise fall back to getopt.getopt().

URIs have schemes, not schemas. Fix everywhere.

* CHANGES

* doc/misc-docs/quick_walkthrough.xml

* notes/webdav-general-summary

* subversion/bindings/swig/java/org/tigris/subversion/test/SVNTests.java

* subversion/clients/cmdline/main.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_dav/props.c

* subversion/libsvn_ra_local/split_url.c

* subversion/tests/clients/cmdline/basic_tests.py

* subversion/tests/clients/cmdline/externals_tests.py

* subversion/tests/clients/cmdline/getopt_tests.py

* subversion/tests/clients/cmdline/getopt_tests_data/svn--version_stdout

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

* subversion/tests/clients/cmdline/getopt_tests_data/svn_version_stdout

* subversion/tests/clients/cmdline/svntest/main.py

* tools/dev/stress.pl

* win-tests.py

* www/faq.html

  1. … 20 more files in changeset.
Merge locking branch to trunk, by comparing trunkURL with branchURL.

This is not a test. This is an actual addition of a very large feature.

This merge passes 'make check' over all three RA implementations.

To see commit logs for this feature, examine /branches/locking, r11749:13570.

  1. … 183 more files in changeset.
Fix Windows test failures introduced in r12687 (I hope - cannot test).

* subversion/tests/clients/cmdline/svntest/main.py (copy_repos): Permit CRLF

newlines in 'svnadmin dump' and 'svnadmin load' feedback.

Fix issue 2181: Add "svnlook {propget,proplist} --revprop".

Patch by: Oliver Klozoff <stevieoh@fastmail.fm>

(Tweaked by me.)

* subversion/svnlook/main.c

(subcommand_plist, subcommand_pget):

Pass NULL for the path argument to do_plist/do_pget

when --revprop is specified.

(do_plist, do_pget):

When the 'path' argument is NULL, switch from svn_fs_node_proplist/

svn_fs_node_prop to svn_fs_revision_proplist/svn_fs_revision_prop.

* subversion/tests/clients/cmdline/svnlook_tests.py:

(run_svnlook, expect): New utility functions.

(test_youngest): Rename to...

(test_misc): ...this, and make it test a whole lot more.

(test_list): Added the new tests.

* subversion/tests/clients/cmdline/svntest/main.py

(run_command_stdin): New. Just like 'run_command',

except it allows the caller to specify data to be piped into

the command's stdin.

  1. … 2 more files in changeset.
Documentation fixes:

* subversion/tests/clients/cmdline/svntest/main.py

(run_svn): Don't recommend a nonexistent function.

* subversion/tests/clients/cmdline/svntest/actions.py

(run_and_verify_svn): State what is returned.

  1. … 1 more file in changeset.
This patch implements fixed size keywords for Subversion,

see issue #2095 for more details.

Patch provided by Tom Molesworth <tom at molesworth name>, regression

tests by me. Thanks Greg Hudson for comments.

* subversion/libsvn_subr/subst.c

(translate_keyword_subst): Added fixed length keyword handling

* subversion/tests/clients/cmdline/diff_tests.py

(verify_exluded_output): New helper function

(diff_keywords): New test, check that keywords won't show up on

diff, and that they show when they should.

* subversion/tests/clients/cmdline/trans_tests.py

(keywords_from_birth): Added testing of fixed length keywords.

(setup_working_copy): Signature changed, it now takes second

argument: length of the value field (value_len). This is used

by fixed keyword tests.

(check_keywords): New helper function

(fixed_length_keywords_path): New test path

* subversion/tests/clients/cmdline/svntest/main.py

(canonize_url): New helper function

* doc/book/TODO

Added entry for fixed length keywords.

  1. … 4 more files in changeset.
Make "make check" work properly when Subversion is built without BDB.

* subversion/tests/clients/cmdline/svntest/main.py: If no fs_type

parameter is given, don't pass --fs-type to svnadmin create.

Fix the bug whereby a test raising svntest.Skip would cause the exit

status of the entire test run to be non-zero. Thanks to Christian

Schaffner and Brian W. Fitzpatrick for analysis.

* subversion/tests/clients/cmdline/svntest/testcase.py

(_Predicate.convert_result): New name for convert_error(). All

callers and overriding classes adjusted accordingly.

(_Predicate.skip_text): Call arg 'result' not 'error'.

(TestCase.run): Don't bother to set error in SVNTestStatusCodeError

case, because the error will never be used anyway. Document.

* subversion/tests/clients/cmdline/svntest/main.py

(_internal_run_tests): Don't exit non-zero unless actual test

failure happened.

  1. … 1 more file in changeset.
Improve option handling in the test scripts.

* build/run_tests.py (main): Prefer (and generate) the '--opt=val'

spelling of the long options.

* subversion/tests/svn_tests_main.c (main): Print out the ignored

argument, for easier debugging.

* subversion/tests/clients/cmdline/svntest/main.py: (run_tests): Use

the getopt module to parse options, in order to support both

'--opt=val' and '--opt val' long-option spelling.

  1. … 2 more files in changeset.
Merge the changes from the fs-abstraction branch. This allows the

libsvn_fs_fs filesystem to sit alongside the old BDB filesystem in the

same executable.

  1. … 89 more files in changeset.
Follow up to revision r8029: adjust tests, python bindings, and COM bindings

for new copyright date.

Note that the change to subversion/bindings/com/SVNCOM.rc seems to affect

every line of the file, because it inadvertently fixed the line endings in

the repository. They were probably broken due to an old bug, see

http://subversion.tigris.org/servlets/BrowseList?list=dev&by=thread&from=143326

for details, and see also r8141.

* subversion/tests/libsvn_subr/target-test.py

* subversion/tests/clients/cmdline/diff_tests.py

* subversion/tests/clients/cmdline/autoprop_tests.py

* subversion/tests/clients/cmdline/copy_tests.py

* subversion/tests/clients/cmdline/stat_tests.py

* subversion/tests/clients/cmdline/svnadmin_tests.py

* subversion/tests/clients/cmdline/prop_tests.py

* subversion/tests/clients/cmdline/blame_tests.py

* subversion/tests/clients/cmdline/basic_tests.py

* subversion/tests/clients/cmdline/log_tests.py

* subversion/tests/clients/cmdline/export_tests.py

* subversion/tests/clients/cmdline/update_tests.py

* subversion/tests/clients/cmdline/utf8_tests.py

* subversion/tests/clients/cmdline/trans_tests.py

* subversion/tests/clients/cmdline/commit_tests.py

* subversion/tests/clients/cmdline/svnlook_tests.py

* subversion/tests/clients/cmdline/schedule_tests.py

* subversion/tests/clients/cmdline/svntest/wc.py

* subversion/tests/clients/cmdline/svntest/testcase.py

* subversion/tests/clients/cmdline/svntest/actions.py

* subversion/tests/clients/cmdline/svntest/entry.py

* subversion/tests/clients/cmdline/svntest/main.py

* subversion/tests/clients/cmdline/merge_tests.py

* subversion/tests/clients/cmdline/switch_tests.py

* subversion/tests/clients/cmdline/getopt_tests.py

* subversion/tests/clients/cmdline/externals_tests.py

* subversion/bindings/swig/python/svn/core.py

* subversion/bindings/swig/python/svn/fs.py

* subversion/bindings/swig/python/svn/repos.py

* subversion/bindings/swig/python/svn/wc.py

* subversion/bindings/swig/python/svn/delta.py

* subversion/bindings/swig/python/svn/util.py

* subversion/bindings/swig/python/svn/client.py

* subversion/bindings/swig/python/svn/__init__.py

* subversion/bindings/swig/python/svn/ra.py

* subversion/bindings/swig/python/__init__.py

* subversion/bindings/com/SVNCOM.cpp

* subversion/bindings/com/SVN.cpp

* subversion/bindings/com/SVNStatus.cpp

* subversion/bindings/com/SVNCOM.rc

* subversion/bindings/com/StdAfx.cpp

* subversion/bindings/com/misc.cpp

Extend copyright range.

  1. … 41 more files in changeset.
Be consistent about using svntest.main.safe_rmtree everywhere, and add

a retry option to be used when deleting repositories to account for

the fact that the client and server are not synchronized during ra_svn

and ra_dav tests. This could otherwise lead to spurious failures on

Windows, where a file cannot be deleted while a process holds it open.

* subversion/tests/clients/cmdline/svntest/main.py (safe_rmtree):

Add optional parameter 'retry' and exponential-sleep logic.

* subversion/tests/clients/cmdline/basic_tests.py,

subversion/tests/clients/cmdline/log_tests.py,

subversion/tests/clients/cmdline/switch_tests.py,

subversion/tests/clients/cmdline/svntest/actions.py: Use safe_rmtree

everywhere instead of shutil.rmtree, with 'retry' enabled if removing

a repository.

  1. … 4 more files in changeset.