propget-cmd.c

Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Use more robust coding style in handling UTF-8 conversion of command-line

arguments.

Convert to UTF-8 as soon as possible, and name variables assuming UTF-8

encoding is the default rather than an exception, and minimize visibility of

non-UTF-8 values.

* subversion/svn/propdel-cmd.c,

subversion/svn/propedit-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/propset-cmd.c:

Rename variables assuming UTF-8; minimize storing non-UTF-8 values.

* subversion/svn/svn.c,

subversion/svnadmin/svnadmin.c,

subversion/svnbench/svnbench.c,

subversion/svndumpfilter/svndumpfilter.c,

subversion/svnfsfs/svnfsfs.c,

subversion/svnlook/svnlook.c,

subversion/svnmucc/svnmucc.c,

subversion/svnrdump/svnrdump.c,

subversion/svnsync/svnsync.c

tools/client-side/svnconflict/svnconflict.c

tools/client-side/svn-mergeinfo-normalizer/svn-mergeinfo-normalizer.c

tools/dev/svnmover/svnmover.c

tools/server-side/svnauthz.c

(sub_main): Convert to UTF-8 before matching the subcommand name; no

observable change if environment's encoding is a superset of ASCII.

(...): Rename variables assuming UTF-8; minimize storing non-UTF-8 values.

  1. … 16 more files in changeset.
Deprecate the --strict command-line option. It was only used in one

place to actually mean --no-newline, so use the latter instead and

make --strict an alias for backwards compatibility.

* subversion/svn/cl.h

(svn_cl__opt_state_t): Removed member 'strict'.

* subversion/svn/svn.c

(svn_cl__longopt_t): Note that opt_strict is deprecated.

(svn_cl__options): Change help text for --strict to DEPRECATED.

(svn_cl__cmd_table): Make propget accept --no-newline and change

the docs for --strict to tell users that it's deprecated.

(sub_main): Interpret --strict exactly as --no-newline.

* subversion/svn/propget-cmd.c

(svn_cl__propget): Replace --strict with --no-newline.

* subversion/tests/cmdline/checkout_tests.py (checkout_peg_rev_date),

subversion/tests/cmdline/prop_tests.py (peg_rev_base_working,

xml_unsafe_author),

subversion/tests/cmdline/special_tests.py (propvalue_normalized),

subversion/tests/cmdline/svnmucc_tests.py (propset_root_internal),

subversion/tests/cmdline/trans_tests.py (cat_keyword_expansion):

Replace --strict with --no-newline.

  1. … 7 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.
Following the availability of apr_hash_this_key() etc. in APR v1.5, use

these in Subversion code instead of svn__apr_hash_index_key() etc. Provide

substitutes only when APR is too old to provide them.

* subversion/include/svn_types.h,

subversion/libsvn_subr/iter.c

(svn__apr_hash_index_key,

svn__apr_hash_index_klen,

svn__apr_hash_index_val):

Rename to apr_hash_this_key, apr_hash_this_key_len, apr_hash_this_val.

Declare and define them only if APR is older than 1.5.

Everywhere else: track the renames.

  1. … 102 more files in changeset.
In 'svn propget', forbid using 'show-inherited-properties' with 'strict'.

The reason is because 'strict' (that is, print no newline afterwards) is

only really useful when there is no more than one value to output. This is

consistent with how we already forbid it when there are multiple targets or

a depth other than 'empty'.

See email thread "--strict vs --no-newline", started on 2014-06-09 by Julian

Foad, archived at e.g. <http://svn.haxx.se/dev/archive-2014-06/0023.shtml>.

* subversion/svn/propget-cmd.c

(svn_cl__propget): Forbid 'strict' with 'show-inherited-properties'.

* subversion/svn/svn.c

(svn_cl__cmd_table): Update the help text accordingly.

  1. … 1 more file in changeset.
Follow-up to r1592724: make 'svn propget nodeprop' error out on non-existing

properties, too.

* subversion/svn/propget-cmd.c

(svn_cl__propget): As above. Issue a warning for each explicit target

and error out at the end if any warnings have been issued.

* subversion/tests/cmdline/copy_tests.py

(repos_to_wc, copy_added_paths_to_URL, copy_peg_rev_url):

* subversion/tests/cmdline/externals_tests.py

(duplicate_targets):

* subversion/tests/cmdline/merge_reintegrate_tests.py

(no_source_subtree_mergeinfo):

* subversion/tests/cmdline/merge.py

(textual_merges_galore, mergeinfo_elision, empty_mergeinfo):

* subversion/tests/cmdline/prop_tests.py

(props_over_time):

* subversion/tests/cmdline/resolve_tests.py

(prop_conflict_resolution):

* subversion/tests/cmdline/schedule_tests.py

(add_executable):

* subversion/tests/cmdline/svnmucc_tests.py

(propset_root_internal):

Adjust failure mode expectations.

  1. … 8 more files in changeset.
Follow-up to r1592724: Fix an improper format string.

Found by: julianfoad

* subversion/svn/propget-cmd.c

(svn_opt_private.h): Include.

(svn_cl__propget): Stringify START_REVISION correctly.

Follow-up to r3265 (r843339): In 'svn propget --revprop', error out on non-existing properties.

* subversion/svn/propget-cmd.c

(svn_cl__propget): Handle the (propval == NULL) case.

* subversion/include/svn_client.h

(svn_client_revprop_get): Document API behaviour on non-existing properties.

* subversion/tests/cmdline/svnadmin_tests.py

(empty_date): Use exit code to verify lack of property.

* subversion/tests/cmdline/prop_tests.py

(revprop_change): Same. 'propget' was actually already failing (with

the expected E200017), but the test was ignoring the exit code.

(I think the before-this-change code can never fail, since

re.match('cha-ching', 'cha-ching\n') would return False.)

  1. … 3 more files in changeset.
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.
Get rid of the ever increasing number of private apis in svn_sorts.h by adding

a new private/svn_sorts_private.h file with the private parts and updating the

needed #include-s.

*AND*

Improve error reporting during xml parsing in ra_serf a bit.

For 1.9 the number of private apis in this public header more than doubled,

doubling the original filesize, while our policy is to never add private

functions in public headers.

* build.conf

(libsvn_subr): Add export.

* subversion/include/private/svn_sorts_private.h

New file, copied from ../svn_sorts.h.

* subversion/include/svn_sorts.h

Remove everything possible in our private namespace. Keeping some

references.

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/import.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/list.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/status.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/lock.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/diff_editor.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db_update_move.c

* subversion/mod_dav_svn/repos.c

* subversion/svn/log-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svnadmin/svnadmin.c

* subversion/svnlook/svnlook.c

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

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

Fix includes.

* subversion/libsvn_ra_serf/util.c

(expat_response_handler): Combine XML errors with our custom parser errors

instead of only reporting one or the other.

  1. … 42 more files in changeset.
Use SVN_VA_NULL instead of plain NULL in variable-arguments lists in all

remaining cases, as far as I can discover, following r1536307 (introducing

SVN_VA_NULL) and r1543394 (warning about missing or inappropriate sentinels for

some Subersion functions).

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

calls with variable argument lists.

  1. … 37 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.
Use svn_hash_gets and svn_hash_sets.

* 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/commit.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/editor.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/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/fs_fs.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/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/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/mod_dav_svn/activity.c

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/merge.c

* subversion/mod_dav_svn/reports/update.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/help-cmd.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svndumpfilter/svndumpfilter.c

* subversion/svnlook/svnlook.c

* subversion/svnmucc/svnmucc.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/load_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

  1. … 70 more files in changeset.
Add --show-inherited-props support to 'svnlook propget' and

'svnlook proplist' and '--verbose' support to 'svnlook propget'.

The output of these new options now mimics the output of 'svn pl' and

'svn pg' with the same options. The only change to *existing* 1.7 behavior

is for 'svnlook pl' and 'svnlook pl -v', which now mimics 'svn pl' and

'svn pl -v':

Old:

>svnlook pl autoprop_tests-30 /

svn:auto-props

>svnlook pl autoprop_tests-30 / -v

svn:auto-props : *.h=svn:eol-style=native

New:

>svnlook pl autoprop_tests-30 /

Properties on '/':

svn:auto-props

>svnlook pl autoprop_tests-30 / -v

Properties on '/':

svn:auto-props

*.h=svn:eol-style=native

See http://svn.haxx.se/dev/archive-2012-11/0508.shtml and

http://svn.haxx.se/dev/archive-2012-11/0510.shtml

* subversion/include/svn_repos.h

(svn_repos_fs_get_inherited_props): Add a new argument signaling retrieval

of only a particular property.

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_get_inherited_props): Implement new argument.

* subversion/libsvn_ra_local/ra_plugin.c

(get_node_props):

* subversion/mod_dav_svn/reports/inherited-props.c

(dav_svn__get_inherited_props_report):

* subversion/svnserve/serve.c

(get_props):

Update calls to svn_repos_fs_get_inherited_props() to account for new

argument.

* subversion/svn/cl.h

(svn_cl__print_prop_hash,

svn_cl__print_xml_commit,

svn_cl__indent_string): Renamed and moved to svn_cmdline_private.h

* subversion/include/private/svn_cmdline_private.h

(svn_cmdline__indent_string,

svn_cmdline__print_prop_hash,

svn_cmdline__print_xml_prop_hash): New. Moved here from cl.h.

* subversion/svn/props.c

(svn_cl__print_prop_hash,

svn_cl__print_xml_prop_hash): Renamed and moved these implementations to

subversion/libsvn_subr/cmdline.c.

* subversion/svn/util.c

(next_line,

svn_cl__indent_string): Renamed and moved these implementations to

subversion/libsvn_subr/cmdline.c.

* subversion/libsvn_subr/cmdline.c

(next_line,

svn_cmdline__indent_string): New. Renamed and moved here from

subversion/svn/util.c.

(svn_cmdline__print_prop_hash,

svn_cmdline__print_xml_prop_hash): New. Renamed and moved here from

subversion/svn/props.c.

* subversion/svn/log-cmd.c

(log_entry_receiver_xml):

* subversion/svn/propget-cmd.c

(print_single_prop):

* subversion/svn/proplist-cmd.c

(proplist_receiver_xml,

proplist_receiver,

svn_cl__proplist):

Account for svn_cl__* --> svn_cmdline__* renamed functions.

* subversion/svnlook/svnlook.c

(svnlook__show_inherited_props): New enum for --show-inherited-props

option.

(options_table): New help line for --show-inherited-props.

(cmd_table): Add '-v' and '--show-inherited-props' options to

'svnlook propget'. Add '--show-inherited-props' option to

'svnlook proplist'.

(svnlook_opt_state): Add member to track --show-inherited-props.

(stream_write):

(do_pget): Add new arguments corresponding to the --verbose and

--show-inherited-props options.

(do_plist): Remove comment about returning SVN_ERR_PROPERTY_NOT_FOUND

if no properties are found, we haven't done that ever for proplist,

it appears to simply be a copy & paste typo from way back in r845574.

Add new argument corresponding to the --show-inherited-props option.

(subcommand_pget): Update call to do_plist() and do_pget().

(main): Handle --show-inherited-props. Raise an error if --revprop and

--show-inherited-props options are used together.

* subversion/svnserve/serve.c

(get_props): Update caller.

* subversion/tests/cmdline/svnlook_tests.py

(output_command): Adjust test expectations to account for change in default

output of .svnlook pl'.

* tools/client-side/svn-bench/cl.h

(svn_cl__print_prop_hash): Remove declaration. No need to rename to

svn_cmdline__print_prop_hash, as it was no longer referenced in

tools\client-side\svn-bench.

  1. … 15 more files in changeset.
Improve the output of 'svn pg --show-inherited-props -v' so it is clearer

as to what paths any inherited properties apply.

Suggested by: jcorvel

See http://svn.haxx.se/dev/archive-2012-11/0510.shtml

* subversion/svn/propget-cmd.c

(print_single_prop): Print the inheritor of any inherited props.

(print_properties): Add argument tracking the inheritor of any inherited

properties.

(svn_cl__propget): Update call to print_properties.

Make 'svn pg' print file names with --show-inherited-props, akin to the way

'svn pg -R' does, so we know where the inherited props are coming from.

Before we did this:

>svn pg svn:auto-props --show-inherited-props A\B

*.py=svn:eol-style=native

*.cpp=svn:eol-style=native

*.c=svn:eol-style=native

*.h=svn:eol-style=native

Now we do this:

>svn pg svn:auto-props --show-inherited-props A/B

. - *.py=svn:eol-style=native

*.cpp=svn:eol-style=native

A\B - *.c=svn:eol-style=native

*.h=svn:eol-style=native

* subversion/svn/propget-cmd.c

(svn_cl__propget): Print file names when the --show-inherited-props option

is used.

* subversion/svn/propget-cmd.c

(print_properties): Reuse variable to avoid shadowing warning.

Merge the inheritable-props branch back to trunk.

See http://svn.haxx.se/dev/archive-2012-09/0177.shtml

  1. … 68 more files in changeset.
Make 'svn propget -R' sort by path when printing path:propval pairs.

Avoids random output ordering with APR-1.4.6.

* subversion/svn/propget-cmd.c

(print_properties, print_properties_xml): Iterate over a sorted array of hash

table keys instead of iterating over the hash table itself. The hash maps

paths to prop values, so use svn_sort_compare_items_as_paths for sorting.

Simplify the semantics of svn_dirent_skip_ancestor() to return NULL if the

supposed child is not in fact a child.

* subversion/include/svn_dirent_uri.h,

subversion/libsvn_subr/dirent_uri.c

(svn_dirent_skip_ancestor): Return NULL if 'child' is not a child.

* subversion/tests/cmdline/entries-dump.c

(print_dir): Handle the case where the 'child' is not in fact a child.

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

(test_dirent_skip_ancestor): Adjust the test accordingly.

* subversion/svn/cl.h,

subversion/svn/util.c

(svn_cl__local_style_skip_ancestor): New function, combining the old

semantics of svn_dirent_skip_ancestor() with more behaviour that all

callers want.

* subversion/svn/info-cmd.c

(print_info_xml, print_info): Use svn_cl__local_style_skip_ancestor().

* subversion/svn/notify.c

(notify): Same.

* subversion/svn/propget-cmd.c

(print_properties): Same.

* subversion/svn/update-cmd.c

(print_update_summary): Same.

  1. … 9 more files in changeset.
Fix issue #3702 'Unable to perform case-only rename on windows' by adding a

new flag to svn_client_args_to_target_array (revving it in the process), so

it can perform specialized case-canonicalization behavior for supporting

case-only renames.

* subversion/tests/cmdline/copy_tests.py

(case_only_rename): Remove XFail marker. Fix issue description according

to the changed summary of issue #3702.

* subversion/include/svn_client.h

(svn_client_args_to_target_array): Deprecate, succeeded by ...

(svn_client_args_to_target_array2): ... new function, carrying a new

argument KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* subversion/libsvn_client/cmdline.c

(svn_client_args_to_target_array2): Make use of new flag

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION to undo truepath-conversion of

the last of 2 targets if they both have the same 'truepath'.

* subversion/libsvn_client/deprecated.c

(svn_client_args_to_target_array): Implement deprecated wrapper.

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

(test_args_to_target_array): Adjust caller, passing FALSE for

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

[in subversion/svn]

* add-cmd.c, blame-cmd.c, cat-cmd.c, changelist-cmd.c, checkout-cmd.c,

cleanup-cmd.c, commit-cmd.c, copy-cmd.c, delete-cmd.c, diff-cmd.c,

export-cmd.c, import-cmd.c, info-cmd.c, list-cmd.c, lock-cmd.c, log-cmd.c,

merge-cmd.c, mergeinfo-cmd.c, mkdir-cmd.c, patch-cmd.c, propdel-cmd.c,

propedit-cmd.c, propget-cmd.c, proplist-cmd.c, propset-cmd.c,

relocate-cmd.c, resolve-cmd.c, resolved-cmd.c, revert-cmd.c, status-cmd.c,

switch-cmd.c, unlock-cmd.c, update-cmd.c, upgrade-cmd.c:

Adjust callers, passing FALSE for KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* move-cmd.c: Adjust caller, passing TRUE for

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* cl.h

(svn_cl__args_to_target_array_print_reserved): Add new parameter

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION.

* util.c

(svn_cl__args_to_target_array_print_reserved): Add new parameter

KEEP_LAST_ORIGPATH_ON_TRUEPATH_COLLISION, passing it to

svn_client_args_to_target_array2.

  1. … 41 more files in changeset.
Followup to r1103771 by rev'ing the propget API to maintain our pre-1.7

sematics of returning the appropriate hash keys.

Suggested by: rhuijben

* subversion/include/svn_client.h

(svn_client_propget4): New.

(svn_client_propget3): Deprecate.

* subversion/svn/propget-cmd.c

(svn_cl__propget): Call the updated API.

* subversion/svn/propedit-cmd.c

(svn_cl_propedit): Same.

* subversion/libsvn_client/deprecated.c

(svn_client_propget3): New wrapper.

* subversion/libsvn_client/prop_commands.c

(svn_client_propget4): New.

(svn_client_propget3): Remove.

  1. … 4 more files in changeset.
Convert a bit of the recursive propget to use absolute paths, by doing path

relativifcation in the command line program, where it belongs.

Note: I *think* this is backwards compatible, since we promise paths, but

don't specify absolute or relative in the docs. If somebody has an alternative

interpretation, we can do the API-rev dance.

* subversion/svn/propget-cmd.c

(print_properties): Make a relative path from an absolute one, if possible.

* subversion/svn/propedit-cmd.c

(svn_cl__propedit): Fetch the property from the hash via absolute path.

* subversion/libsvn_client/prop_commands.c

(recursive_propget_receiver_baton): Remove unused members.

(recursive_propset_receiver): Don't make relative paths for the returned

hash.

(get_prop_from_wc): Take an abspath, instead of computing it ourselves.

(get_prop_from_wc): Don't bother computing anchor abspaths and such, just

use our existant abspath to get the property.

  1. … 2 more files in changeset.
Prefix an underscore to the error messages to make it visible to the

translator.

* subversion/libsvn_subr/auth.c

* subversion/svn/util.c

* subversion/svn/propget-cmd.c

* subversion/libsvn_client/delete.c

* subversion/libsvn_client/repos_diff.c

* subversion/svnlook/main.c

* subversion/libsvn_ra_serf/auth_digest.c

* subversion/libsvn_ra_serf/auth.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/win32_auth_sspi.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_neon/util.c

Patch by: Vijayaguru G <vijay{_AT_}collab.net>

Suggested by: kameshj

Tweaked by: kameshj

  1. … 11 more files in changeset.
Fix error leaks.

* everywhere:

Add missing SVN_ERR() calls.

* subversion/libsvn_repos/load-fs-vtable.c

(make_node_baton): Return an svn_error_t *.

(new_node_record): Track return type change.

* subversion/svnadmin/main.c (main),

subversion/svndumpfilter/main.c (main),

subversion/svnlook/main.c (main),

subversion/svnrdump/svnrdump.c (main),

subversion/svnsync/main.c (main):

Use SVN_INT_ERR() around subcommand_help() or help_cmd().

  1. … 34 more files in changeset.
Tighten variable scope in many locations.

Found by: Philipp Kloke <philipp.kloke@web.de>

* subversion/libsvn_diff/diff_file.c,

subversion/libsvn_subr/error.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/dirent_uri.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_ra_local/ra_plugin.c,

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

subversion/mod_dav_svn/reports/update.c,

subversion/tests/svn_test_main.c,

subversion/svndumpfilter/main.c,

subversion/libsvn_ra_svn/cyrus_auth.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/svn/propdel-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/log-cmd.c,

subversion/svn/propset-cmd.c,

subversion/svn/switch-cmd.c,

subversion/svn/proplist-cmd.c,

subversion/svn/propedit-cmd.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/update_editor.c,

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

subversion/libsvn_wc/wc_db.c,

subversion/svnlook/main.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_ra_neon/mergeinfo.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/delta.c,

subversion/svnserve/serve.c:

Tighten variable scope.

  1. … 36 more files in changeset.
Fix issue #3721 'redirection of svn propget output corrupted with large

property values'.

This change makes all the writes to stdout, by svn pg, via the svn_stream_t *

that we already use to print the 'Properties on' header. Note that this

stream *is* attached to stdout, but avoiding the mix of stream writes and

printfs solves issue #3721 on Windows.

* subversion/svn/cl.h

(svn_cl__print_prop_hash): Support printing to a passed in svn_stream_t *.

* subversion/svn/propget-cmd.c

(print_properties): Make the header's line endings native. Print the

property names and values to the same svn_stream_t * we already use

print the headers to.

* subversion/svn/proplist-cmd.c

(proplist_receiver, svn_cl__proplist): Update calls to

svn_cl__print_prop_hash(), keeping old behavior.

* subversion/svn/props.c

(svn_cl__print_prop_hash): Support printing to a passed in svn_stream_t *,

otherwise fall-back to old behavior of using printf().

* subversion/tests/cmdline/prop_tests.py

(propget_redirection): Remove comment re failure status.

(test_list): Remove XFail.

  1. … 4 more files in changeset.
Make our standin apr hash retrieval functions private, and note that in both

the function name and header file.

* subversion/include/svn_types.h,

subversion/libsvn_subr/iter.c

(svn_apr_hash_index_key): Renamed to...

(svn__apr_hash_index_key): ...this.

(svn_apr_hash_index_klen, svn__apr_hash_index_klen): Same.

(svn_apr_hash_index_val, svn__apr_hash_index_val): Same.

* subversion/libsvn_ra/ra_loader.c,

subversion/libsvn_subr/mergeinfo.c,

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

subversion/svndumpfilter/main.c,

subversion/svn/props.c,

subversion/svn/propget-cmd.c,

subversion/svn/log-cmd.c,

subversion/svn/status-cmd.c,

subversion/svnadmin/main.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/lock.c,

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

subversion/libsvn_wc/tree_conflicts.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/util.c,

subversion/libsvn_client/repos_diff.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/commit.c,

subversion/svnlook/main.c,

subversion/svnsync/main.c,

subversion/svnsync/sync.c,

subversion/libsvn_repos/reporter.c,

subversion/svnserve/serve.c,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs_fs/lock.c,

subversion/libsvn_fs_fs/dag.c,

subversion/libsvn_fs_fs/caching.c:

Update callers throughout.

  1. … 44 more files in changeset.
Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.

* NOTICE:

Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
* subversion/svn/propget-cmd.c

(svn_cl__propget): Don't drop errors on the floor: return them!