Checkout Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* everywhere: Run tools/dev/remove-trailing-whitespace.sh to remove

trailing whitespace before we branch 1.14.

  1. … 105 more files in changeset.
Fix test failures seen on 32-bit architectures (Fedora Raw Hide, both

i686 and armv7hl) when building with GCC 10 snapshots.

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

(get_rev_contents): Avoid signed integer overflow on platforms with

32-bit long.

Don't ignore error returns.

c: [skip]

Found by: danielsh

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

  1. … 7 more files in changeset.
Add a test case for issue #4658.

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

(large_delta_against_plain): New test.

(test_funcs): Register new test.

Docstring fixes. No functional change.

* subversion/libsvn_fs_fs/pack.c

(pack_context_t): Fix the wording in the docstring.

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

(aligned_seek_test): Same.

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

(recover_fully_packed): Fix typo.

  1. … 2 more files in changeset.
Make FSFS packing with restricted memory testable and add a test for it.

We basically expose the MAX_MEM parameter used internally at our private

FSFS API level and call that in the test. We could also expose it in the

public FS API but that doesn't seem to be necessary ATM.

* subversion/libsvn_fs_fs/pack.h

(svn_fs_fs__pack): Add optional MAX_MEM parameter.

* subversion/libsvn_fs_fs/pack.c

(pack_baton,

pack_shard): Take the MAX_MEM parameter from the baton now.

(svn_fs_fs__pack): Pass the optional parameter on to the baton.

* subversion/libsvn_fs_fs/fs.c

(fs_pack): Update caller.

* subversion/libsvn_fs_fs/tree.c

(svn_fs_fs__commit_txn): Same.

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

(create_non_packed_filesystem): Extract this new utility function out

from ...

(create_packed_filesystem): ... this.

(pack_with_limited_memory): New test.

(test_funcs): Register the new test.

  1. … 4 more files in changeset.
* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

(compare_0_length_rep): Fix the list of test filenames.

Follow-up to 1717869: Second attempt to fix the compile error with VC .

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

(compare_0_length_rep): When in doubt, use macros.

Follow-up to 1717869: Try to fix the compile error with VC .

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

(compare_0_length_rep): Add few more 'const's into the mix.

Add a test for why r1712927 was wrong.

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

(compare_0_length_rep): New test case.

(test_funcs): Register new test.

Do not perform flush to disk when it's completely unnecessary.

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

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

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

(plain_0_length, write_format, test_config_pool): Call

svn_io_atomic_write2() with FLUSH_TO_DISK=FALSE.

  1. … 2 more files in changeset.
Implement svn_io_write_atomic2() with FLUSH_TO_DISK flag to control whether

wait or not until file is actually written to disk. The old

svn_io_write_atomic() was flushing data to disk unconditionally.

* subversion/include/svn_io.h

(svn_io_write_atomic2): New function declaration.

(svn_io_write_atomic): Deprecate.

* subversion/libsvn_subr/io.c

(svn_io_write_atomic2): Revv from svn_io_write_atomic() Add FLUSH_TO_DISK

parameter and perform flush to disk only if FLUSH_TO_DISK is non-zero.

* subversion/libsvn_subr/deprecated.c

(svn_io_write_atomic): Call svn_io_write_atomic2() with FLUSH_TO_DISK=TRUE.

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/util.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_wc/workqueue.c

* subversion/mod_dav_svn/activity.c

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

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

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

(*): Use svn_io_write_atomic2() with FLUSH_TO_DISK=TRUE instead of

svn_io_write_atomic().

  1. … 13 more files in changeset.
Provide a regression test for issue #4577.

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

(delta_chain_with_plain): New test.

(test_funcs): Register new test.

Follow-up to r1669743:

Fix sub-condition and provide a test for rep-sharing in general.

* subversion/libsvn_fs_fs/transaction.c

(get_shared_rep): Actually check what the comment says.

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

(count_substring,

count_representations,

multiply_string): New utility functions.

(rep_sharing_effectiveness): New test.

(test_funcs): Register new test.

Found by: danielsh

  1. … 1 more file 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.
Make the test added in r1654933 somewhat more robust by using the

parser / serializer functions provided by FSFS.

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

(stringbuf_find): Just return a position, not a pointer.

(plain_0_length): Modify the revision content using FSFS noderev I/O and

tweak the native structure instead of its serialized

format.

Suggested by: danielsh

Add a test demonstrating issue #4554.

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

(receive_index,

stringbuf_find,

get_line): New, test-specific utility functions.

(plain_0_length): The new test case.

(test_funcs): Register new test case.

Rename 'svn_io_file_create_binary' to 'svn_io_file_create_bytes' and accept

a pointer to anything for the contents.

The former name sounded too much like it was processing the contents in

binary mode. The API is as yet unreleased so can simply be changed.

* CHANGES

Update the mention of it.

* subversion/include/svn_io.h,

subversion/libsvn_subr/io.c

(svn_io_file_create_binary): Rename to svn_io_file_create_bytes. Change

the 'contents' parameter from 'const char *' to 'const void *'. Don't

describe the contents as 'binary' in the doc string.

(svn_io_file_create,

svn_io_file_create_empty): Track the rename.

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

(metadata_checksumming): Track the rename.

  1. … 3 more files in changeset.
Update the FSFS revprop pack tests to reflect the recent packing

granularity changes.

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

(get_set_large_revprop_packed_fs): Reduce the numbers by roughly 16

to create the same file splitting

effects as before.

Our svn:ignore settings prefer FSFS test repositories names to

start with "test-repo-". So, (pre-)fix the ones that don't.

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

(fuzzing_set_byte_test,

fuzzing_invert_byte_test,

fuzzing_increment_byte_test,

fuzzing_decrement_byte_test,

fuzzing_null_byte_test): Prefix the repo name with "test-repo".

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

(create_greek_repo,

get_repo_stats,

dump_index): Same - using the REPO_NAME #define.

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

(get_set_multiple_huge_revprops_packed_fs,

upgrade_new_txns_to_log_addressing,

upgrade_old_txns_to_log_addressing,

metadata_checksumming,

revprop_caching_on_off): Same.

  1. … 2 more files in changeset.
* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

(): Remove duplicate #include line.

Add SVN_FS_CONFIG_FSFS_SHARD_SIZE fs config option to create FSFS

repositories with custom shard size. Use it in FSFS tests for now.

* subversion/include/svn_fs.h

(SVN_FS_CONFIG_FSFS_SHARD_SIZE): New.

* subversion/libsvn_fs_fs/fs_fs.c

(svn_fs_fs__create): Handle SVN_FS_CONFIG_FSFS_SHARD_SIZE fs config option.

* subversion/tests/svn_test_fs.h

(svn_test__create_fs2): New function declaration.

* subversion/tests/svn_test_fs.c

(create_fs): Add OVERLAY_FS_CONFIG argument to overlay standard test

fs config values.

(svn_test__create_fs2): Revv from svn_test__create_fs(). Pass FS_CONFIG to

create_fs() function.

(svn_test__create_fs): Call svn_test__create_fs2() with OVERLAY_FS_CONFIG

set to NULL.

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

(write_format): Remove.

(create_packed_filesystem): Use svn_test__create_fs2() with a custom

SVN_FS_CONFIG_FSFS_SHARD_SIZE fs config value instead of rewriting

format file.

  1. … 4 more files in changeset.
Docstring fixes. No functional change.

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

(): Fix file docstring.

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

(): Same.

  1. … 1 more file in changeset.
Provide a test that covers the locale_independent_strtol function

recently added to FSFS' id parser.

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

(id_parser_test): New test.

(test_funcs): Register it.

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

(test_funcs): Followup to r1619774, mark revprop_caching_on_off PASS.

Revert r1619413. Resolve a text conflict in fs-fs-pack-test.c .
  1. … 8 more files in changeset.
Following up on r1619413, mark the new enforce_consistent_revprop_caching()

test a WIMP, because it currently fails on platforms with named atomics

disabled in compile time. We could probably tweak its expectations,

but the corresponding changeset is planned to be reverted (as per

http://svn.haxx.se/dev/archive-2014-08/0273.shtml), so this should be

a cheap way of making our buildbots green again.

Discussed in #svn-dev IRC.

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

(test_funcs): Make the enforce_consistent_revprop_caching() test a WIMP.

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c: Fix -Wnewline-eof.

Avoid abort() call in the enforce_consistent_revprop_caching() test on Visual

Studio X86 <= 2012 by registering an fs warning func. This should help make

the Windows buildbots green again.

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

(enforce_consistent_revprop_caching): Set warning funcs on two opened fss.

[Reverted in r1619769]

Enforce the "everybody or nobody" restriction on revprop caching, i.e.

either all processes (usually servers) or none must use revprop caching.

This patch makes sure that the first process to use revprop caching will

create the revprop generation file before even reading and caching any

revprops - instead of auto-creating it upon the first write. Then this

file is being used as an indicator that the repo has been accessed at

least once using revprop caching. FS instances without that feature

enabled will then be banned from writing any revprops.

To make this workable, applications that may write revprops but are not

servers themselves (the latter having explicit revprop caching options)

need to engage the revprop caching infrastructure automatically if the

repo that they are accessing requires it. svnadmin, svnlook and ra_local

enable this new mode.

* subversion/include/svn_fs.h

(SVN_FS_CONFIG_FSFS_CACHE_REVPROPS): Document that there is now yet

another mode.

* subversion/libsvn_fs_fs/fs.h

(fs_fs_data_t): Add the flag allowing on-demand activation of revprop

caching.

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__initialize_revprop_caches): Declare new function to init

the revprop caches only.

* subversion/libsvn_fs_fs/caching.c

(read_config): Handle the new revprop caching mode.

(cache_key_prefix): Common functionality factored out from

svn_fs_fs__initialize_caches.

(svn_fs_fs__initialize_revprop_caches): Implement, mainly taking out

of ...

(svn_fs_fs__initialize_caches): ... this. Update after refactoring.

* subversion/libsvn_fs_fs/revprops.c

(init_generation_baton_t,

init_revprop_generation_file): New code to create the revprop generation

file before the first cached revprop

access (read or write).

(read_revprop_generation_file): Trigger auto-creation of that file.

(enforce_consistent_caching): New function containing the actual

cache settings consistency check.

(svn_fs_fs__set_revision_proplist): Trigger the new check to make sure

we don't modify revprops w/o telling

caching applications.

* subversion/libsvn_ra_local/split_url.c

(svn_ra_local__split_URL): Set "enable revprop caching on demand" feature

instead of "no revprop caching" on open repos.

* subversion/svnadmin/svnadmin.c

(open_repos): Use the same mode here.

* subversion/svnlook/svnlook.c

(get_ctxt_baton): And here.

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

(enforce_consistent_revprop_caching): New test covering the new mode as

well as new the consistency check.

(test_funcs): Register new test.

  1. … 8 more files in changeset.