subversion

Checkout Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1833481 is being indexed.

* STATUS: Vote/appprove path to python fix.
* STATUS: Vote/appprove path to rdoc fix.
* STATUS: Fix syntax to make backport.pl happy.
* subversion/mod_dav_svn/repos.c

(open_stream): Return an error if a non-conforming client sends

a PUT before the corresponding CHECKOUT when attempting a v1

protocol commit. This is required for strict v1 compliance

and does not affect the v2 protocol.

Shelving: add tests for a binary file conflict.

* subversion/tests/cmdline/shelf_tests.py

(unshelve_undeclared_binary_mod_conflict,

unshelve_binary_mod_conflict): New tests.

(test_list): Run them.

Shelving: in the tests, tweak some test names and variable names.
Shelving: Add tests for merging a prop change, cleanly and with conflict.

* subversion/tests/cmdline/shelf_tests.py

(unshelve_with_merge): New, factored out...

(unshelve_text_mod_merge,

unshelve_text_mod_conflict): ... from here.

(unshelve_text_prop_merge,

unshelve_text_prop_conflict): New tests.

(test_list): Run them.

Shelving: Add tests for merging a text change, cleanly and with conflict.

* subversion/tests/cmdline/shelf_tests.py

(unshelve_text_mod_merge,

unshelve_text_mod_conflict): New tests.

(test_list): Run them.

In the test suite, when displaying unexpected differences, don't hide

binary file contents.

* subversion/tests/cmdline/svntest/tree.py

(SVNTreeNode.print_script): Just print file content's repr() regardless of MIME-type.

Shelving: Test a little more thoroughly.

Verify also the contents of on-disk files and their versioned properties,

not just the status that 'svn status' shows.

* subversion/tests/cmdline/shelf_tests.py

(get_wc_state,

check_wc_state): New.

(shelve_unshelve_verify,

save_revert_restore,

unshelve_refuses_if_conflicts): Use them.

Shelving: Add a test for refusing to shelve a conflict.

A follow-up to r1833141.

* subversion/tests/cmdline/shelf_tests.py

(refuse_to_shelve_conflict): New test.

(test_list): Run it.

Shelving: Improve 'svn help shelve'.

* subversion/svn/svn.c

(svn_cl__cmd_table): For 'shelve', better describe the supported kinds of change.

Shelving: Detect and refuse to shelve an unversioned tree-conflicted victim path.

Previously a path with this status was silently skipped.

* subversion/libsvn_client/shelf.c

(write_changes_visitor): Detect and refuse all conflicts.

[A test was added later in r1833168.]

Shelving: better reporting of shelved and not-shelved changes.

* subversion/include/svn_client.h,

subversion/libsvn_client/shelf.c

(svn_client_shelf_save_new_version3): New.

(svn_client_shelf_save_new_version2): Deprecate.

* subversion/svn/shelf-cmd.c

Use callbacks to report shelved and not-shelved paths.

In the test suite, make some expected output checking more robust.

Require that the regexes in RegexListOutput and UnorderedRegexListOutput

classes match a whole actual line, not just a prefix.

Adjust the few callers that were not already expecting to match a whole

line.

This patch does not yet do the same for RegexOutput. Many callers assume

the regex in that class matches a prefix.

* subversion/tests/cmdline/move_tests.py,

subversion/tests/cmdline/prop_tests.py,

subversion/tests/cmdline/svnadmin_tests.py,

subversion/tests/cmdline/svnmover_tests.py,

subversion/tests/cmdline/svnmucc_tests.py

Append '.*' or other suitable ending to patterns that lacked it.

* subversion/tests/cmdline/svntest/verify.py

(re_fullmatch,

regex_fullmatch): New.

(RegexListOutput,

UnorderedRegexListOutput): Use them to match the whole line, not just a

prefix. When printing differences, print the expected regex and actual

text in such a way that control characters and trailing spaces can be

seen.

Shelving: In help text, say 'SHELF' rather than 'NAME'.

* subversion/svn/svn.c

(svn_cl__cmd_table): s/NAME/SHELF/g in shelving commands.

Shelving: Improve 'svn help unshelve'.

* subversion/svn/svn.c

(svn_cl__cmd_table): For 'unshelve', describe roll-back and clarify other points.

Shelving: add a test for 'shelf-list'.

* subversion/tests/cmdline/shelf_tests.py

(list_shelves): New test.

(test_list): Run it.

Shelving: Refuse to shelve a 'copied' state, as it isn't yet supported.

* subversion/libsvn_client/shelf.c

(write_changes_visitor): Refuse a 'copied' state.

* subversion/tests/cmdline/shelf_tests.py

(shelve_file_copy,

shelve_dir_copy): New tests.

(test_list): Run them.

Shelving: follow-up to r1833082: tweak a dependant test.

* subversion/tests/cmdline/shelf_tests.py

(shelf_status): Don't (yet) include a 'rmdir' among the changes.

Shelving: refuse to shelve mkdir/rmdir, as it is not yet supported.

* subversion/libsvn_client/shelf.c

(write_changes_visitor): Refuse add/del/replace directory.

* subversion/tests/cmdline/shelf_tests.py

(shelve_unshelve_verify,

shelve_unshelve): Support an expected 'cannot shelve' error.

(shelve_mkdir,

shelve_rmdir): Expect refusal; remove XFail.

(shelve_replace_dir): New test.

(test_list): Run the new test.

Shelving: Make the 'conflict on unshelving' error more informative.

* subversion/svn/shelf-cmd.c

(status_to_char): New.

(test_apply): Report the WC status code of the conflicting path.

(shelf_restore): Tweak the conflict error message.

Shelving: Adjust 'svn help shelve' now that binary files are supported.

They are supported since r1831344.

* subversion/svn/svn.c

(svn_cl__cmd_table): Remove 'binary files not supported' note in 'x-shelve'.

* tools/server-side/svnpubsub/svnwcsub.py: Clarify comment by expanding

an acronym.

Shelving: Fix test added in r1832179.

* subversion/tests/cmdline/shelf_tests.py

(state_from_status): Allow overriding '-v -u -q' options.

(run_and_verify_status,

run_and_verify_shelf_status): New.

(shelf_status): Compare shelf status with previous WC status instead

of writing the expected status data in the test.

Shelving: add XFail tests for shelving 'mkdir' and 'rmdir'.

* subversion/tests/cmdline/shelf_tests.py

(shelve_mkdir, shelve_rmdir): New tests.

(test_list): Run them.

Shelving: test 'svn status' a little more comprehensively.

* subversion/tests/cmdline/shelf_tests.py

(shelf_status): Test more changes than just an add.

Shelving: Tweak 'svn status' on a shelf.

* subversion/libsvn_client/shelf.c

Save and recall the base revision number. Use appropriate

values for unavailable fields.

Shelving: fix crashes, following r1831908.

* subversion/libsvn_client/status.c

(shelves_status): Allow changelists array to be null.

Shelving: Add SVN_EXPERIMENTAL and suppress warnings related to it.

A follow-up to r1831908.

* subversion/include/svn_client.h

(svn_client_shelf_version_status_walk): Add 'experimental' mark-up.

* subversion/libsvn_client/status.c

Suppress 'experimental function used' warnings, because on some platforms

it maps to a 'deprecated' warning and we don't like those.