subversion

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

Changeset 866298 is being indexed.

Follow-up to r26222.

* subversion/tests/libsvn_repos/repos-test.c

(rmlocks): Update call to svn_repos_begin_report2.

Follow-up to r26222.

* build.conf

(libsvn_repos): Remove private\svn_repos_private.h from msvc-export.

Add a depth argument to svn_repos_begin_report2, and get rid of

svn_repos__begin_report.

Background: a while ago we decided that svn_repos_begin_report2 doesn't need

to take depth, because we also pass depth to svn_repos_set_path/link_path.

Later we realized that in order to implement depth upgrades we do need a depth

argument, but we didn't add it to svn_repos_begin_report2. Instead we used

svn_repos__begin_report, which was originally created precisely because

_begin_report2 didn't take depth, and is now obsolete.

* subversion/include/private/svn_repos_private.h:

Delete (svn_repos__begin_report was the only function in this file).

* subversion/include/svn_repos.h

(svn_repos_begin_report2): Add and document a depth argument.

(svn_repos_begin_report): Tweak docstring.

* subversion/libsvn_repos/reporter.c

Don't include private/svn_repos_private.h.

(svn_repos__begin_report): Remove.

(svn_repos_begin_report2): Add a depth argument and move the body of

svn_repos__begin_report here.

(svn_repos_begin_report): Call svn_repos_begin_report2 instead of

svn_repos__begin_report.

* subversion/mod_dav_svn/reports/update.c

* subversion/svnserve/serve.c

* subversion/libsvn_ra_local/ra_plugin.c

Don't include private/svn_repos_private.h, and call svn_repos_begin_report2

instead of svn_repos__begin_report.

Update tests that test for ranges of revisions to expect what is returned.

Range results returned changed sometime during merge tracking development.

Also create a default peg_revision for Svn::Client::Context#merge_peg.

* subversion/bindings/swig/ruby/test/test_client.rb

(SvnClientTest#test_merge_peg) Update ranges of revisions to expect what is

returned. Range results returned changed sometime during merge tracking

development and the tests need to keep up.

* subversion/bindings/swig/ruby/svn/client.rb

(Svn::Client::Context#merge_peg) if a peg revision is not specified, default

to HEAD if the source is a uri or WORKING otherwise.

(Svn::Client::Context#uri?) new private function to determine if a path

should be considered a uri.

First step in making updates copy files: have server send copyfrom args.

* subversion/libsvn_repos/reporter.c

(add_file_smartly): new function to possibly send copyfrom_* args

when driving editor->add_file().

(update_entry): call new function on added files. If copyfrom args

are discovered, send txdelta between copyfrom file

and added file, rather than between emptyfile and

added file.

* subversion/libsvn_wc/update_editor.c

(add_or_open_file): add comment about forthcoming code.

(open_file): pass invalid revnum as copyfrom_rev, not

base_revision. (what the heck were we doing there?)

Make a private branch for issue 503.
Merged revisions 26192-26217 via svnmerge from

https://svn.collab.net/repos/svn/trunk

    • ?
    /branches/scheme-bindings/subversion/libsvn_repos/repos.c
  1. … 11 more files in changeset.
* www/links.html (misc-utils): Add SVN Notifier.

Patch by: Vladislav Rudenko <vlad{_AT_}chd.lv>

(Tweaked by me.)

Continue hiding the loggy path calculations in the loggy functions.

* subversion/libsvn_wc/log.h

* subversion/libsvn_wc/log.c

(svn_wc__loggy_delete_entry,

svn_wc__loggy_translated_file): Use full path convention.

* subversion/libsvn_wc/merge.c

* subversion/libsvn_wc/update_editor.c

Update callers.

Continue hiding the loggy path calculations in the loggy functions.

* subversion/libsvn_wc/log.h

* subversion/libsvn_wc/log.c

(svn_wc__loggy_delete_lock,

svn_wc__loggy_delete_changelist): Use full path convention.

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/update_editor.c

Update callers.

Continue hiding the loggy path calculations in the loggy functions.

* subversion/libsvn_wc/log.h

* subversion/libsvn_wc/log.c

(svn_wc__loggy_remove,

svn_wc__loggy_modify_wc_prop): Use full path convention.

* subversion/libsvn_wc/props.c

(open_reject_tmp_file): Return a full path now, for use with loggy callers.

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/lock.c

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

Update callers.

ra_serf: fix merge_tests 47. If multiple update-report's are sent in one

session, ra_serf will keep creating extra connections but store them in the

same location in memory, overwriting the previously created connections.

This will create exceptions when cleaning up the connection list.

* subversion/libsvn_ra_serf/update.c

(finish_report): Create up till 3 extra connections, reuse them for later

requests.

Add merge method to the python ctypes WC class. Wraps the functionality of

svn_client_merge2().

* csvn/wc.py:

(merge): New method to merge changes.

Ensure that we have an original blame chain. In the case where a file is

created on a branch, and then merged to another branch, the merge is

actually a copy, and we treat it as such. We still need to be sure that

the original chain is existent, so we create one using the most recent

revision in the direct line of history.

* subversion/libsvn_client/blame.c

(svn_client_blame4): Create an orginal blame chain if one does not already

exist.

Implementation of 'svn patch' guts.

* subversion/svn/patch-cmd.c

(svn_cl__patch): set up the command line notifier for 'svn patch'.

* subversion/svn/main.c

(svn_cl__cmd_table): provide 'patch' with svn_cl__force_opt option.

* subversion/include/svn_client.h

(svn_client_patch): add the 'force' argument.

* subversion/include/svn_wc.h

(svn_wc_read_item, svn_wc_parse_tuple, svn_wc_read_tuple,

svn_wc_apply_patch): New functions to deal with svnpatch-reading.

* subversion/libsvn_wc/util.c

(readbuf_getchar_skip_whitespace, read_string, read_item,

vparse_tuple): New helper functions.

(svn_wc_read_item, svn_wc_parse_tuple, svn_wc_read_tuple): New

functions to read Editor Commands chunks.

* subversion/libsvn_wc/patch.c

Similar to what libsvn_ra_svn/editorp.c does with ra_svn-based

communications.

New file. Read Editor Commands from a decoded patch file and drive

the editor.

* subversion/libsvn_client/patch.c

A lot of this file was imported from both merge.c and repos_diff.c.

(patch_cmd_baton): analogous to merge_cmd_baton.

(patch_callbacks, merge_props_changed, merge_file_changed,

merge_file_added, merge_file_deleted, merge_dir_added,

merge_dir_deleted): add svn_wc_diff_callbacks2_t functions to merge

changes from the (svn)patch.

(merge_delete_notify_baton_t, merge_delete_notify_func):

Notify-wrapper and its baton from merge.c.

(edit_baton, dir_baton, file_baton, make_dir_baton, make_file_baton,

make_editor_baton): new baton structures/functions dealing with tree

traversal.

(create_empty_file, get_path_access, get_parent_access,

get_empty_file): helper functions from repos_diff.c.

(open_root, delete_entry, add_directory, open_directory,

add_file, open_file, window_handler, apply_textdelta, close_file,

close_directory, change_file_prop, change_dir_prop, close_edit):

Editor functions, imported from repos_diff.c.

(extract_svnpatch): Pull out the svnpatch block from patches and

decode data (uncompress + base64-decode).

(svn_client_patch): add 'force' flag and define the function to call

svn_wc_apply_patch.

When looking for merged logs, ensure that the path exists in source merge

info. Add a test for this condition.

* subversion/libsvn_repos/log.c

(build_log_tree): Make sure that the path exists in the given revision

before attempting to build a tree with it.

* subversion/tests/cmdline/log_tests.py

(merge_sensitive_log_added_path): New test.

(test_list): Run the new test.

Fix issue 2877 - "Do subtree merge only if subtree has a explicit mergeinfo

set and has a merge source as that of(equivalent) current merge source".

* subversion/libsvn_client/merge.c

(struct get_sw_mergeinfo_walk_baton):

Add merge_src_canon_path, merge_target_path.

(get_sw_mergeinfo_walk_cb):

Populate 'wb->children_sw_or_with_mergeinfo' only if merge from equivalent

path from wb->merge_src_canon_path is found or the path is switched.

(get_sw_mergeinfo_paths): Accepts 'merge_src_canon_path'.

(discover_and_merge_children): Accepts 'wc_root_url'.

(guess_merge_src_child_url): New function.

(discover_and_merge_children):

Accept new argument 'wc_root_url'.

Changes to reflect the change of signature of 'get_sw_mergeinfo_paths'.

(get_repos_root): New function to get the repository root for a given

path or url.

(svn_client_merge3): get the wc_repos_root.

Update the call to 'discover_and_merge_children'.

(svn_client_merge_peg3): get the wc_repos_root.

Update the call to 'discover_and_merge_children'.

Code refactoring.

* subversion/tests/cmdline/merge_tests.py

(avoid_repeated_merge_on_subtree_with_merge_info):

Even though '/A/copy-of-B/F/E1' has the mergeinfo from '/A/B/F/E',

it does not have any logical connection with '/A/B'.

Fix the expectation accordingly.

(merge_to_target_with_copied_children):

'/A_COPY/D/G/rho_copy' is not related to '/A/D/G' so merge on

parent target of '/A_COPY/D/G' from '/A/D/G' should not affect it.

(test_list): remove XFail marker from 'merge_to_target_with_copied_children'.

Suggested by: vgeorgescu

Fix a 'file not found' error when running 'svn blame -g'.

Found by: markphip

* subversion/libsvn_client/blame.c

(window_handler): In the case of 'blame -g', add blame information to the

original blame chain after processing the merged chain. We need the

previous original file to live long enough for both chains, not just

the merged one.

Put path in local style before returning error.

* subversion/libsvn_repos/repos.c

(create_repos_dir): Use svn_path_local_style() when creating error.

* subversion/tests/libsvn_fs/fs-test.c

(closest_copy_test): Fix some incorrect pathnames in comments.

Revert r26176 to solve the issue in a much simpler was via issue '2877'.

* subversion/libsvn_client/merge.c

* subversion/tests/cmdline/merge_tests.py

Start hiding the loggy path calculations in the loggy functions

in an attempt to remove the confusing fullpath/basepath variable pairs

everywhere.

* subversion/include/svn_path.h

* subversion/libsvn_subr/path.c

(svn_path_is_child): Allow passing in a NULL pool; we'll need

the data so shortly that copying it just isn't worth the trouble.

* subversion/libsvn_wc/log.h

* subversion/libsvn_wc/log.c

(loggy_path): New. Convert 'normal' path to adm_access relative path.

(svn_wc__loggy_append,

svn_wc__loggy_committed,

svn_wc__loggy_maybe_set_executable,

svn_wc__loggy_maybe_set_readonly,

svn_wc__loggy_set_entry_timestamp_from_wc,

svn_wc__loggy_set_entry_working_size_from_wc,

svn_wc__loggy_set_readonly,

svn_wc__loggy_set_timestamp): No longer take adm_access relative paths.

* subversion/libsvn_wc/merge.c

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/update_editor.c

Update callers.

* subversion/tests/libsvn_subr:

Sort the svn:ignore lines.

* subversion/tests/libsvn_subr:

Add revision-test to svn:ignore.

* subversion/tests/libsvn_subr/revision-test.c

(test_parse_revision_number):

Fix compile error.

Found by: joeswatosh

* scheme-bindings/subversion/bindings/swig/mzscheme/libsvn_swig_mzscheme/mzscheme.h

Fixed typo (py to mzscm)

* scheme-bindings/subversion/bindings/swig/mzscheme/libsvn_swig_mzscheme/mzscheme.c

Added place to store apr thread pool

* scheme-bindings/subversion/bindings/swig/mzscheme/tests/run_tests.scm

Added tests for core bindings

Fix formatting in test files. Make sure all lines are the proper length, in

particular.

* test/localrepos.py, test/remoterepos.py:

Fix line length problems and other formatting.

Change the diff method of the python ctypes WC class. The original design was to

have the WC class diff method only compare the base and working revisions. This

reverses that decision, making the WC diff method an unrestricted wrapper for

svn_client_diff3(). The test for WC.diff() has also been updated to test the

expanded functionality.

* csvn/wc.py:

(diff): Diff no longer restricted to diffing working and base revisions.

* test/wc.py:

(test_diff): Extend diff test to test full functionality.

Add import method and corresponding test to ctypes python remote repository

class. Acts as a wrapper for svn_client_import2().

* csvn/repos.py:

(__init__): Add log message callback setup.

(import): New method to import file to repository.

(set_log_func): Method to set log function callback.

(_log_func_wrapper): Wrapper for user log callback.

* test/remoterepos.py:

(test_import): Test for import method.

(_log_func): Dummy log function, for use with import test.

Add a new svn_parse_revision_number() method that behaves much like

strtol() but returns only non-negative svn_revnum_t's.

* subversion/include/svn_types.h

(svn_parse_revision_number):

New declaration.

* subversion/include/svn_error_codes.h

(SVN_ERR_REVISION_NUMBER_PARSE_ERROR):

New error.

* subversion/libsvn_subr/mergeinfo.c

(parse_revlist):

Use svn_parse_revision_number() instead of parse_revision().

(parse_revision):

Move this function from here...

* subversion/libsvn_subr/kitchensink.c

Include svn_error.h and svn_private_config.h.

(svn_parse_revision_number):

...to here and rename it and change the function's signature.

* subversion/tests/libsvn_subr/revision-test.c:

New file based off of subversion/tests/libsvn_subr/time-test.c to

test svn_parse_revision_number().

* build.conf

(revision-test):

New section to build subversion/tests/libsvn_subr/revision-test.

    • ?
    /trunk/subversion/tests/libsvn_subr/revision-test.c