Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Don't ignore error returns.

c: [skip]

Found by: danielsh

using tools/dev/warn-unused-result.sh

  1. … 7 more files in changeset.
Avoid the extra blank progress notifications in most cases.

* subversion/svn/notify.c

(struct notify_baton): Add progress_revision.

(notify_body): Use progress_revision to avoid many of the blanking prints.

(svn_cl__get_notifier): Initialise progress_revision.

* contrib/hook-scripts/CVE-2017-9800-pre-commit.py: Move from here...

* tools/hook-scripts/CVE-2017-9800-pre-commit.py: ...to here.

[Note from the future: accidentally included an extra bug fix:

* subversion/svn/notify.c

(notify_body): Prevent garbled output of progress notification when

the revision number gets much shorter.]

  1. … 2 more files in changeset.
Show progress output while searching the repository for tree conflict details.

We do this only for RA operations which potentially access multiple revisions.

No progress is shown when getting information from a single revision.

Scanning the log can take a while and happens before we show the conflict

description. So show a "spinning wheel" (or rather, a self-updating display

of revision numbers) to keep the audience entertained.

* subversion/include/svn_wc.h

(svn_wc_notify_begin_search_tree_conflict_details,

svn_wc_notify_tree_conflict_details_progress,

svn_wc_notify_end_search_tree_conflict_details): New notification types.

* subversion/libsvn_client/conflicts.c

(find_deleted_rev_baton): Add victim_abspath for notifications.

(find_deleted_rev): Send progress notifications.

(find_revision_for_suspected_deletion): Send begin/end notifications.

(find_added_rev_baton): Add victim_abspath and 'ctx'.

(find_added_rev): Send progress notifications.

(get_incoming_delete_details_for_reverse_addition): Add 'victim_abspath'

parameter. Send begin/end notifications.

(conflict_tree_get_details_incoming_delete): Update caller.

(conflict_tree_get_details_incoming_add): Send begin/end notifications.

(find_modified_rev_baton): Add victim_abspath and 'ctx'.

(find_modified_rev): Send progress notifications.

(conflict_tree_get_details_incoming_edit): Send begin/end notifications.

(merge_incoming_added_dir_replace): Send begin/end notifications.

* subversion/svn/notify.c

(notify_body): Display new notification types.

  1. … 2 more files in changeset.
Don't ever send resolution notifications for properties without including

a property name. This looks ugly and wasn't intended.

* subversion/libsvn_wc/conflicts.c

(conflict_status_walker, svn_wc__conflict_prop_mark_resolved): Send a

propery name along with svn_wc_notify_resolved_prop. If that's not

possible send a general 'resolved' notification.

* subversion/svn/notify.c

(notify_body): Assert property name for svn_wc_notify_resolved_prop.

  1. … 1 more file in changeset.
Add new notification actions for resolution of text, prop, and tree conflicts.

The action 'svn_wc_notify_resolved' is a bit generic. We can generate more

informative output with separate notification actions for the different

kinds of conflicts we support.

Note that nothing generates these new notifications yet.

This will be done in separate commits.

* subversion/include/svn_wc.h

(svn_wc_notify_action_t): Add svn_wc_notify_resolved_text,

svn_wc_notify_resolved_prop, svn_wc_notify_resolved_tree.

* subversion/svn/notify.c

(notify_body): Add support for new notification actions.

  1. … 1 more file in changeset.
Remove the svn_cl__conflict_func_interactive() callback.

The command line client will now start the conflict resolver by itself if

an update, merge, or switch operation flags conflicts in the working copy.

Before this commit it was relying on the libraries to do so. This finally

gives full control over conflict resolution to the client and paves the

way for future enhancements of the conflict resolver.

Only one use case of the libsvn_wc conflict callback remains. This is

required for supporting 'svn merge --accept' during merges which perform

multiple editor drives. A better solution would be changing the

svn_client_merge API to allow the client to get away without the conflict

callback. I've left this for future work.

* subversion/svn/cl.h

(svn_cl__conflict_stats_get_paths): Declare this new function which is

involved in keeping existing conflict resolution behaviour intact.

The client already records newly conflicted paths as part of conflict

accounting. We use this list of paths to run the conflict resolver on

the newly conflicted paths only, rather than running it over the entire

working copy as 'svn resolve' would do.

(svn_cl__get_conflict_func_interactive_baton,

svn_cl__conflict_func_interactive): Remove declaration. Now unused.

(svn_cl__walk_conflicts): Declare this new function which makes the

working copy walker logic of 'svn resolve' available to subcommands

which now need it as well.

* subversion/svn/conflict-callbacks.c

(svn_cl__get_conflict_func_interactive_baton,

svn_cl__conflict_func_interactive): Remove.

* subversion/svn/merge-cmd.c

(conflict_func_merge_cmd_baton, conflict_func_merge_cmd): Add this

temporary implementation of svn_wc_conflict_resolver_func2_t to

avoid breaking 'svn merge --accept'. Note that we cannot support the

'edit' and 'launch' accept options anymore, so these now map to 'postpone'.

This is a small CLI interface change relative to 1.9.

(svn_cl__merge): Install the above conflict callback if necessary.

Invoke the interactive conflict resolver if necessary.

* subversion/svn/notify.c

(svn_cl__conflict_stats_get_paths): Implement.

* subversion/svn/resolve-cmd.c

(svn_cl__walk_conflicts): Implement. Partly split out of svn_cl__resolve().

* subversion/svn/svn.c

(sub_main): Do not install a libsvn_wc conflict callback by default.

* subversion/svn/switch-cmd.c

(svn_cl__switch): Invoke the interactive conflict resolver if necessary.

* subversion/svn/update-cmd.c

(svn_cl__update): Invoke the interactive conflict resolver if necessary.

  1. … 7 more files in changeset.
Following up on r1706693, tweak notifications on obstructed targets during

'svn patch'.

* subversion/svn/notify.c

(notify_body): Add specialized notification for unversioned obstructions

during skip.

* subversion/tests/cmdline/patch_tests.py

(patch_symlink_traversal): Tweak skip kind. Don't produce unnecessary

exact expected output.

  1. … 1 more file in changeset.
Tweak the 'svn patch' property code to properly allow repeating patches

as already applied.

Found by r1705663 work.

* subversion/libsvn_client/patch.c

(patch_target_t): Add booleans for already applied handling.

(get_hunk_info): Detect deletes that are already applied.

(send_patch_notification): Improve notification info to avoid

notifying about hunks without an attached file.

(apply_one_patch): Register already applied hunks.

* subversion/svn/notify.c

(notify_body): Notify filenames when property changes are merged.

  1. … 2 more files in changeset.
Apply the standard pre-branch whitespace cleanup via

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

* subversion/bindings/javahl/native/EditorProxy.h

* subversion/bindings/javahl/native/StateReporter.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

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

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

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

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

* subversion/tests/libsvn_client/client-test.c

* subversion/tests/libsvn_client/mtcc-test.c

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

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

* subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c

* subversion/tests/libsvn_fs_x/string-table-test.c

* subversion/tests/libsvn_ra/ra-test.c

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

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

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

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

* subversion/tests/libsvn_subr/packed-data-test.c

* subversion/tests/libsvn_subr/priority-queue-test.c

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

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

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

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

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/svn_test_main.c

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/build-svn-deps-win.pl

* tools/dev/fsfs-access-map.c

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

* tools/hook-scripts/mailer/mailer.py

* tools/server-side/svnpubsub/daemonize.py

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Fix the remaining part of issue 4527, notification for nested externals.

* subversion/svn/notify.c

(struct notify_baton): Change in_external from flag to counter.

(notify_body): Increment/decrement rather than set/clear.

(svn_cl__get_notifier): Initialise counter.

* subversion/tests/cmdline/externals_tests.py

(nested_notification): New test.

(test_list): Add new test.

  1. … 1 more file in changeset.
* subversion/svn/notify.c

(notify_body): Tweak comments for clarity.

Cleanup a bit of svn notification code and remove an unneeded blank line from

the svn commit output that was caused by the side effects of this code.

Update test results for this changes and include a few cases of the related

r1606182 change.

* subversion/svn/notify.c

(notify_body): Write the newline here...

* subversion/svn/util.c

(svn_cl__print_commit_info): ...Instead of waiting for this code.

* subversion/tests/cmdline/blame_tests.py

(blame_output_after_merge): Update expected result.

* subversion/tests/cmdline/copy_tests.py

(url_copy_parent_into_child): Update expected result.

* subversion/tests/cmdline/merge_tests.py

(simple_property_merges,

merge_old_and_new_revs_from_renamed_file,

merge_with_auto_rev_range_detection,

merge_source_normalization_and_subtree_merges,

merge_added_subtree,

dont_merge_revs_into_subtree_that_predate_it,

set_up_renamed_subtree,

no_self_referential_filtering_on_added_path,

merge_range_prior_to_rename_source_existence,

set_up_natural_history_gap): Update expected results.

* subversion/tests/cmdline/merge_tree_conflict_tests.py

(merge_replace_setup): Update expected results.

* subversion/tests/cmdline/switch_tests.py

(delete_subdir): Update expected results.

  1. … 6 more files in changeset.
Follow-up to r1604179: Print "Committing transaction" progress notification

for tree changes only commits.

Found by: julianfoad

* subversion/svn/notify.c

(notify_body): Unconditionally print "Committing transaction" progress

notification.

* subversion/tests/cmdline/basic_tests.py

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/copy_tests.py

* subversion/tests/cmdline/merge_reintegrate_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/svnrdump_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

(basic_mkdir_url, basic_delete, blame_output_after_merge,

wc_copy_parent_into_child, basic_reintegrate,

obey_reporter_api_semantics_while_doing_subtree_merges,

update_loses_mergeinfo, merge_loses_mergeinfo,

merge_old_and_new_revs_from_renamed_dir,

merge_source_normalization_and_subtree_merges,

dont_add_mergeinfo_from_own_history,

merge_added_subtree, dont_merge_revs_into_subtree_that_predate_it,

set_up_renamed_subtree, no_self_referential_filtering_on_added_path,

merge_range_prior_to_rename_source_existence,

committed_case_only_move_and_revert, status_ignored_dir,

load_with_parent_dir, reflect_dropped_renumbered_revs,

reflect_dropped_renumbered_revs, svnrdump_load_partial_incremental_dump,

delete_subdir, failed_anchor_is_target, bad_intermediate_urls,

forced_switch_failures, another_hudson_problem, new_dir_with_spaces,

update_copy_of_old_rev): Update expected output.

  1. … 10 more files in changeset.
* subversion/svn/notify.c

(notify_body): Fix indentation.

Print progress notification between client finished transmitting text deltas

and asked server to commit transaction in command line client.

* subversion/svn/notify.c

(notify_body): Handle svn_wc_notify_commit_finalizing() notification and

print message if we got transmit text deltas notification before.

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/depth_tests.py

* subversion/tests/cmdline/trans_tests.py

(post_commit_hook_test, commit_depth_immediates,

eol_change_is_text_mod): Update expected output.

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

(State.from_commit): Ignore "Committing transaction" lines from

'svn commit' output when collecting modified path.

  1. … 4 more files in changeset.
Refactor code a bit to avoid "goto print_error" pattern.

* subversion/svn/notify.c

(notify_body): New function, extracted from notify() with standard error

handling semantic.

(notify): Call notify_body() and then handle errors during writing output

if any.

* subversion/svn/notify.c

(notify): Use generic external error rather than SVN_ERR_BASE

when extending an external error.

* subversion/svn/notify.c

(notify): Mark error messages for translation.

Revert r1508225, which moved the include of svn_private_config.h before all

includes of our public headers. Public headers shouldn't depend on private

headers and all changes that required this are long reverted on trunk.

This patch excludes all conflicting cases.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

* subversion/libsvn_client/add.c

* subversion/libsvn_client/cat.c

* subversion/libsvn_client/changelist.c

* subversion/libsvn_client/cleanup.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/copy_foreign.c

* subversion/libsvn_client/ctx.c

* subversion/libsvn_client/delete.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/diff_summarize.c

* subversion/libsvn_client/export.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/import.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/iprops.c

* subversion/libsvn_client/list.c

* subversion/libsvn_client/locking_commands.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/repos_diff.c

* subversion/libsvn_client/resolved.c

* subversion/libsvn_client/revert.c

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/update.c

* subversion/libsvn_client/util.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/xdelta.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_diff/util.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs_base/bdb/changes-table.c

* subversion/libsvn_fs_base/bdb/env.c

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/fs.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/caching.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/deprecated.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/blame.c

* subversion/libsvn_ra_serf/blncache.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/getlocationsegments.c

* subversion/libsvn_ra_serf/getlocks.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/log.c

* subversion/libsvn_ra_serf/merge.c

* subversion/libsvn_ra_serf/mergeinfo.c

* subversion/libsvn_ra_serf/options.c

* subversion/libsvn_ra_serf/property.c

* subversion/libsvn_ra_serf/replay.c

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/xml.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz.c

* subversion/libsvn_repos/commit.c

* subversion/libsvn_repos/delta.c

* subversion/libsvn_repos/deprecated.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/hooks.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/replay.c

* subversion/libsvn_repos/reporter.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/compat.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/config_auth.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/dso.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/properties.c

* subversion/libsvn_subr/simple_providers.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/ssl_client_cert_providers.c

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c

* subversion/libsvn_subr/ssl_server_trust_providers.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/username_providers.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/win32_crypto.c

* subversion/libsvn_wc/adm_crawler.c

* subversion/libsvn_wc/adm_files.c

* subversion/libsvn_wc/conflicts.c

* subversion/libsvn_wc/copy.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff_editor.c

* subversion/libsvn_wc/diff_local.c

* subversion/libsvn_wc/entries.c

* subversion/libsvn_wc/externals.c

* subversion/libsvn_wc/info.c

* subversion/libsvn_wc/lock.c

* subversion/libsvn_wc/node.c

* subversion/libsvn_wc/old-and-busted.c

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/revert.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/upgrade.c

* subversion/libsvn_wc/wc_db_update_move.c

* subversion/libsvn_wc/wc_db_wcroot.c

* subversion/mod_dav_svn/repos.c

* subversion/mod_dav_svn/version.c

* subversion/svn/cl-conflicts.c

* subversion/svn/commit-cmd.c

* subversion/svn/conflict-callbacks.c

* subversion/svn/diff-cmd.c

* subversion/svn/help-cmd.c

* subversion/svn/notify.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/props.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svnlook/svnlook.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

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

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

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

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

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

* subversion/tests/libsvn_wc/conflict-data-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/libsvn_wc/wc-test.c

* subversion/tests/svn_test_fs.c

* tools/server-side/fsfs-stats.c

Move the svn_string_private.h include back to the original location.

  1. … 162 more files in changeset.
Add support for walking externals to the api behind 'svn info', like how this

is implemented for 'svn status'.

* subversion/include/svn_client.h

(svn_client_info4): New function.

(svn_client_info3): Deprecate function.

* subversion/include/svn_wc.h

(svn_wc_notify_action_t): Add svn_wc_notify_info_external value.

* subversion/libsvn_client/deprecated.c

(svn_client_info3): New function.

* subversion/libsvn_client/info.c

(includes): Put in understandable order. Add svn_sorts.h.

(do_external_info): New function.

(svn_client_info3): Rename to ...

(svn_client_info4): ... this. Add argument. Handle externals for local info.

* subversion/svn/info-cmd.c

(svn_cl__info): Update caller.

* subversion/svn/notify.c

(notify): Add notification for svn_wc_notify_info_external.

* subversion/svn/svn.c

("info"): Support opt_include_externals.

Suggested by: schabi

  1. … 6 more files in changeset.
Introduce a null-pointer constant that we can use as a termination sentinel

in variable argument lists. This avoids the ugliness of writing

"(char *) NULL" all over the place.

* subversion/include/svn_types.h (SVN_VA_NULL): New symbol.

* subversion/include/svn_dirent_uri.h (svn_dirent_join_many),

subversion/include/svn_path.h (svn_path_join_many),

subversion/include/svn_xml.h (svn_xml_make_open_tag):

Update docstrings, mentioning SVN_VA_NULL as the argument list terminator.

[Lots of implementation files]: Replace typecast-NULL with SVN_VA_NULL in

function calls with variable argument lists.

  1. … 89 more files in changeset.
Fix the #include order such that svn_private_config.h is always

included first before any other svn header - if we also include

svn_hash.h.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_ConfigImpl_Category.cpp,

subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c,

subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/libsvn_auth_gnome_keyring/gnome_keyring.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/changelist.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_client/commit.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/copy_foreign.c,

subversion/libsvn_client/ctx.c,

subversion/libsvn_client/delete.c,

subversion/libsvn_client/deprecated.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/diff_local.c,

subversion/libsvn_client/diff_summarize.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/import.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/iprops.c,

subversion/libsvn_client/list.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/repos_diff.c,

subversion/libsvn_client/resolved.c,

subversion/libsvn_client/revert.c,

subversion/libsvn_client/status.c,

subversion/libsvn_client/switch.c,

subversion/libsvn_client/update.c,

subversion/libsvn_client/util.c,

subversion/libsvn_delta/compat.c,

subversion/libsvn_delta/xdelta.c,

subversion/libsvn_diff/parse-diff.c,

subversion/libsvn_diff/util.c,

subversion/libsvn_fs/access.c,

subversion/libsvn_fs_base/bdb/changes-table.c,

subversion/libsvn_fs_base/bdb/env.c,

subversion/libsvn_fs_base/dag.c,

subversion/libsvn_fs_base/fs.c,

subversion/libsvn_fs_base/lock.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_fs/caching.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs/fs-loader.c,

subversion/libsvn_fs_fs/lock.c,

subversion/libsvn_fs_fs/temp_serializer.c,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_util/fs-util.c,

subversion/libsvn_ra/compat.c,

subversion/libsvn_ra/deprecated.c,

subversion/libsvn_ra_local/ra_plugin.c,

subversion/libsvn_ra/ra_loader.c,

subversion/libsvn_ra_serf/blame.c,

subversion/libsvn_ra_serf/blncache.c,

subversion/libsvn_ra_serf/commit.c,

subversion/libsvn_ra_serf/getlocations.c,

subversion/libsvn_ra_serf/getlocationsegments.c,

subversion/libsvn_ra_serf/getlocks.c,

subversion/libsvn_ra_serf/inherited_props.c,

subversion/libsvn_ra_serf/log.c,

subversion/libsvn_ra_serf/merge.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_ra_serf/options.c,

subversion/libsvn_ra_serf/property.c,

subversion/libsvn_ra_serf/replay.c,

subversion/libsvn_ra_serf/serf.c,

subversion/libsvn_ra_serf/update.c,

subversion/libsvn_ra_serf/util.c,

subversion/libsvn_ra_serf/xml.c,

subversion/libsvn_ra_svn/client.c,

subversion/libsvn_ra_svn/editorp.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/libsvn_repos/authz.c,

subversion/libsvn_repos/commit.c,

subversion/libsvn_repos/delta.c,

subversion/libsvn_repos/deprecated.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/hooks.c,

subversion/libsvn_repos/log.c,

subversion/libsvn_repos/replay.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/repos.c,

subversion/libsvn_repos/rev_hunt.c,

subversion/libsvn_subr/auth.c,

subversion/libsvn_subr/cmdline.c,

subversion/libsvn_subr/compat.c,

subversion/libsvn_subr/config_auth.c,

subversion/libsvn_subr/config.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/dso.c,

subversion/libsvn_subr/hash.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_subr/mergeinfo.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/properties.c,

subversion/libsvn_subr/simple_providers.c,

subversion/libsvn_subr/sorts.c,

subversion/libsvn_subr/ssl_client_cert_providers.c,

subversion/libsvn_subr/ssl_client_cert_pw_providers.c,

subversion/libsvn_subr/ssl_server_trust_providers.c,

subversion/libsvn_subr/subst.c,

subversion/libsvn_subr/types.c,

subversion/libsvn_subr/username_providers.c,

subversion/libsvn_subr/utf.c,

subversion/libsvn_subr/win32_crypto.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/diff_editor.c,

subversion/libsvn_wc/diff_local.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/externals.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/node.c,

subversion/libsvn_wc/old-and-busted.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/revert.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/translate.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db_update_move.c,

subversion/libsvn_wc/wc_db_wcroot.c,

subversion/libsvn_wc/workqueue.c,

subversion/mod_dav_svn/activity.c,

subversion/mod_dav_svn/deadprops.c,

subversion/mod_dav_svn/lock.c,

subversion/mod_dav_svn/merge.c,

subversion/mod_dav_svn/mod_dav_svn.c,

subversion/mod_dav_svn/reports/update.c,

subversion/mod_dav_svn/repos.c,

subversion/mod_dav_svn/version.c,

subversion/svnadmin/svnadmin.c,

subversion/svnauth/svnauth.c,

subversion/svn/cl-conflicts.c,

subversion/svn/commit-cmd.c,

subversion/svn/conflict-callbacks.c,

subversion/svn/diff-cmd.c,

subversion/svn/help-cmd.c,

subversion/svnlook/svnlook.c,

subversion/svnmucc/svnmucc.c,

subversion/svn/notify.c,

subversion/svn/propedit-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/props.c,

subversion/svnrdump/dump_editor.c,

subversion/svnrdump/svnrdump.c,

subversion/svnrdump/util.c,

subversion/svnserve/serve.c,

subversion/svn/status.c,

subversion/svn/status-cmd.c,

subversion/svn/svn.c,

subversion/svnsync/svnsync.c,

subversion/svnsync/sync.c,

subversion/svn/util.c,

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

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

subversion/tests/libsvn_subr/hashdump-test.c,

subversion/tests/libsvn_subr/mergeinfo-test.c,

subversion/tests/libsvn_subr/subst_translate-test.c,

subversion/tests/libsvn_wc/conflict-data-test.c,

subversion/tests/libsvn_wc/op-depth-test.c,

subversion/tests/libsvn_wc/wc-test.c,

subversion/tests/svn_test_fs.c,

tools/dev/fsfs-reorg.c,

tools/server-side/fsfs-stats.c): #include svn_private_config.h first

  1. … 180 more files in changeset.
Add support for cleaning up externals via 'svn cleanup --include-externals'.

This should address the feature request from issue #2325.

* subversion/include/svn_client.h

(svn_client_cleanup2): Add include_externals parameter.

* subversion/include/svn_wc.h

(svn_wc_notify_t): New action svn_wc_notify_cleanup_external.

* subversion/libsvn_client/cleanup.c

(remove_unversioned_items_baton): Rename to ...

(cleanup_status_walk_baton): ... this, and replace notify/cancel support

members with a client context member which includes them.

(do_cleanup): New helper function, extracted from svn_client_cleanup2().

(remove_unversioned_items): Rename to ...

(cleanup_status_walk): ... this, and extend to optionally clean up externals

found during the status walk. Adjust for baton changes, too.

(svn_client_cleanup2): New parameter include_externals. Call the do_cleanup()

helper function which replaces most of this function's body.

* subversion/libsvn_client/deprecated.c

(svn_client_cleanup): Account for new parameter to svn_client_cleanup2().

* subversion/svn/cleanup-cmd.c

(svn_cl__cleanup): Pass opt_state->include_externals to svn_client_cleanup2().

* subversion/svn/notify.c

(notify): Handle svn_wc_notify_cleanup_external.

* subversion/svn/svn.c

(svn_cl__cmd_table): Add --include-extenals option to 'svn cleanup'.

* subversion/tests/cmdline/wc_tests.py

(cleanup_dir_external, test_list): New rather simple test.

  1. … 7 more files in changeset.
Make 'svn' print a summary of conflicts before starting interactive

conflict resolution, as well as after resolution is finished, to give the

user an idea of how much resolution work will be needed.

Addresses issue #3497, "auto merge as much as can; then print summary, then

go into conflict resolution".

* subversion/svn/cl.h,

subversion/svn/notify.c

(svn_cl__notifier_print_conflict_stats): Rewrite as a wrapper ...

(svn_cl__print_conflict_stats): ... around this new function.

* subversion/svn/conflict-callbacks.c

(svn_cl__interactive_conflict_baton): Add a flag to remember whether we

have printed the summary yet.

(svn_cl__get_conflict_func_interactive_baton): Initialize that flag.

(conflict_func_interactive): Print a summary of conflicts before starting

interactive resolution.

  1. … 2 more files in changeset.
Fix a bug in the Summary of Conflicts when using interactive conflict

resolution. Marking a text conflict as resolved but leaving a prop conflict

unresolved on the same file, or vice versa, would decrement both the text

and prop conflict summary stats.

Found by: Mattias Engdegård <mattiase{_AT_}bredband.net>

* subversion/svn/cl.h

(svn_cl__conflict_stats_t): New structure type.

(svn_cl__conflict_stats_create,

svn_cl__conflict_stats_resolved): New functions.

(svn_cl__get_conflict_func_interactive_baton,

svn_cl__get_notifier): Take 'conflict_stats' as a parameter.

* subversion/svn/conflict-callbacks.c

(svn_cl__interactive_conflict_baton_t): Add a 'conflict_stats' field.

(svn_cl__get_conflict_func_interactive_baton): Initialize the new field.

(conflict_func_interactive): New function, containing what was the

body of svn_cl__conflict_func_interactive().

(svn_cl__conflict_func_interactive): Re-write as a wrapper, and adjust

the conflict stats if conflict_func_interactive() returns a value that

means the conflict will be marked as resolved.

* subversion/svn/notify.c

(notify_baton): Replace the separate conflict stats fields with a

pointer to a conflict stats structure.

(svn_cl__conflict_stats_t): New structure definition.

(store_path,

svn_cl__notifier_print_conflict_stats): Adjust for the extra level of

indirection in notify_baton.

(notify): The same, and don't adjust the conflict stats when handling

a 'resolved' notification.

(svn_cl__get_notifier): Adjust to take the conflict stats as a parameter

instead of initializing the stats here.

* subversion/svn/svn.c

(sub_main): Create a conflict stats structure here and pass it along when

getting the notifier and when getting the conflict resolver callback.

  1. … 3 more files in changeset.
Remove some unused code in 'svn'.

* subversion/svn/cl.h,

subversion/svn/notify.c

(svn_cl__notifier_reset_conflict_stats): Delete this unused function.

* subversion/svn/resolve-cmd.c

(svn_cl__resolve): Don't re-install the conflict resolver callback, since

the one and only callback is already installed.

  1. … 2 more files in changeset.
Use correct grammatical number localisation for conflict summary messages.

* subversion/svn/notify.c

(resolved_str, remaining_str): New.

(svn_cl__notifier_print_conflict_stats):

Call resolved_str and remaining_str for number-aware

localisation of messages.

Approved by: cmpilato

Add missing newline to the message when doing propset

on a nonexisting file.

* subversion/svn/notify.c

(notify): Add missing newline, keeping the string itself

intact to be nice to the translators.

Approved by: breser

* subversion/svn/notify.c

(notify): Adjust source indentation, no functional change.