svn/apache.git
4 years agoOn all branches:remove-log-addressingremove-log-addressing
Stefan Hett [Sun, 22 Apr 2018 14:47:13 +0000 (22 14:47 +0000)]
On all branches:

.: Removed redundant SVN properties

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/remove-log-addressing@1829788 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the remove-log-addressing branch: Remove trailing whitespaces to
Ivan Zhakov [Sat, 14 Feb 2015 11:24:42 +0000 (14 11:24 +0000)]
On the remove-log-addressing branch: Remove trailing whitespaces to
minify difference with trunk.

* subversion/tests/libsvn_subr/x509-test.c
* tools/dist/backport_tests.py
  (): Remove trailing whitespace.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/remove-log-addressing@1659780 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the remove-log-addressing branch: Follow-up to r1659777: commit
Ivan Zhakov [Sat, 14 Feb 2015 11:17:21 +0000 (14 11:17 +0000)]
On the remove-log-addressing branch: Follow-up to r1659777: commit
missing file.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/remove-log-addressing@1659778 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the remove-log-addressing branch: Merge changes from trunk.
Ivan Zhakov [Sat, 14 Feb 2015 11:15:05 +0000 (14 11:15 +0000)]
On the remove-log-addressing branch: Merge changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/remove-log-addressing@1659777 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* .
Bert Huijben [Fri, 13 Feb 2015 21:24:13 +0000 (13 21:24 +0000)]
* .
  Add a few more filters to svn:auto-props.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659691 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/include/svn_props.h
Bert Huijben [Fri, 13 Feb 2015 21:19:47 +0000 (13 21:19 +0000)]
* subversion/include/svn_props.h
  (SVN_PROP_MERGEINFO,
   SVN_PROP_INHERITABLE_AUTO_PROPS,
   SVN_PROP_INHERITABLE_IGNORES): Add @since.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659690 13f79535-47bb-0310-9956-ffa450edef68

7 years agoPre branch cleanup: Remove unneeded tab characters from source files.
Bert Huijben [Fri, 13 Feb 2015 21:03:40 +0000 (13 21:03 +0000)]
Pre branch cleanup: Remove unneeded tab characters from source files.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java
* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
* 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/libsvn_subr/sorts.c
  Replace tabs with spaces, trying to fix indenting.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659683 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollowing up on r1659509, extend the whitespace cleanup script to include
Bert Huijben [Fri, 13 Feb 2015 20:36:06 +0000 (13 20:36 +0000)]
Following up on r1659509, extend the whitespace cleanup script to include
.sql and .sh files

* tools/dev/remove-trailing-whitespace.sh
  Update script.

* autogen.sh
* subversion/libsvn_wc/wc-metadata.sql
* subversion/libsvn_wc/wc-queries.sql
* subversion/tests/cmdline/dav-mirror-autocheck.sh
* subversion/tests/cmdline/davautocheck.sh
* subversion/tests/cmdline/lock_tests.py
* tools/buildbot/slaves/i686-debian-sarge1/svnlog.sh
* tools/buildbot/slaves/svn-x64-centos/svnbuild.sh
* tools/buildbot/slaves/svn-x64-centos/svnlog.sh
* tools/buildbot/slaves/svn-x64-macosx-gnu-shared/svnlog.sh
* tools/buildbot/slaves/svn-x64-macosx-gnu-shared-daily-ra_serf/svnlog.sh
* tools/buildbot/slaves/ubuntu-x64/svnlog.sh
* tools/client-side/svn-ssl-fingerprints.sh
* tools/dev/benchmarks/large_dirs/create_bigdir.sh
* tools/dist/dist.sh
* tools/dist/nightly.sh
* tools/hook-scripts/mailer/tests/mailer-init.sh
* tools/po/po-update.sh
  Apply whitespace cleanup.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659668 13f79535-47bb-0310-9956-ffa450edef68

7 years agoTry do the best to improve reliability of old application that does not
Ivan Zhakov [Fri, 13 Feb 2015 17:00:52 +0000 (13 17:00 +0000)]
Try do the best to improve reliability of old application that does not
call svn_dso_initialize2() right after apr_initialize().

See the related discussion in
http://svn.haxx.se/dev/archive-2015-02/0219.shtml

Subject: "Re: svn commit: r1659013 -
/subversion/trunk/subversion/libsvn_subr/dso.c"

Approved by: philip

* subversion/libsvn_fs/fs-loader.c
* subversion/libsvn_ra/ra_loader.c
  (svn_fs_initialize, svn_ra_initialize): Ensure that DSO subsystem is
   initialized early as possible if we're going to use it.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659604 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r1659573: Really fix test suite expectation to reflect
Ivan Zhakov [Fri, 13 Feb 2015 14:37:42 +0000 (13 14:37 +0000)]
Follow-up to r1659573: Really fix test suite expectation to reflect
SQLite journal mode change from DELETE to TRUNCATE.

* subversion/tests/cmdline/svnadmin_tests.py
  (check_hotcopy_fsfs_fsx): Fix typo in local variable name and add
   another special handling for 'rep-cache.db-journal' file.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659575 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r1659426: Update test suite expectation to reflect
Ivan Zhakov [Fri, 13 Feb 2015 14:30:34 +0000 (13 14:30 +0000)]
Follow-up to r1659426: Update test suite expectation to reflect
SQLite journal mode change from DELETE to TRUNCATE.

* subversion/tests/cmdline/svnadmin_tests.py
  (check_hotcopy_fsfs_fsx): Ignore presence of 'rep-cache.db-journal' file
   when checking that SRC and DST repositories are equal.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659573 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAnother indentation fix. Sorry for noise.
Ivan Zhakov [Fri, 13 Feb 2015 13:31:16 +0000 (13 13:31 +0000)]
Another indentation fix. Sorry for noise.

* subversion/libsvn_wc/update_editor.c
  (add_file): Fix indentation.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659554 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r1658115: Formatting fix.
Ivan Zhakov [Fri, 13 Feb 2015 13:26:53 +0000 (13 13:26 +0000)]
Follow-up to r1658115: Formatting fix.

* subversion/libsvn_wc/update_editor.c
  (add_directory): Fix indentation.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659553 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRevert r1659397; it breaks too many buildbots.
Branko Cibej [Fri, 13 Feb 2015 12:51:23 +0000 (13 12:51 +0000)]
Revert r1659397; it breaks too many buildbots.

* TODO: Re-added.
* build/ac-macros/swig.m4: Reverted.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659546 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/cmdline/lock_tests.py
Stefan Sperling [Fri, 13 Feb 2015 12:41:12 +0000 (13 12:41 +0000)]
* subversion/tests/cmdline/lock_tests.py
  (delete_dir_with_lots_of_locked_files): Add issue number.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659542 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd a new test showing a regression in commit over ra_serf where it fails
Stefan Sperling [Fri, 13 Feb 2015 12:30:51 +0000 (13 12:30 +0000)]
Add a new test showing a regression in commit over ra_serf where it fails
to delete a directory tree containing many locked files.

The client-side error is: Unexpected HTTP status 400 'Bad Request' on '<path>'
The server logs this line: request failed: error reading the headers

The problem is reproducible with 1.8.10 but not with 1.8.9.
It was introduced on the 1.8.x branch in r1606976.

In this test, the commit only fails with a certain number of locked files in
the WC. 50 files doesn't have the problem, 60 triggers the problem for me.
Currently, the test is using 75 for good measure.

Further investigation is pending. Help from ra_serf experts is appreciated :)

* subversion/tests/cmdline/lock_tests.py
  (delete_dir_with_lots_of_locked_files): New test which XFails over DAV and
   passes over all other RA layers.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659536 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/cmdline/redirect_tests.py
Philip Martin [Fri, 13 Feb 2015 12:29:44 +0000 (13 12:29 +0000)]
* subversion/tests/cmdline/redirect_tests.py
  (redirect_commands): New test for a bug fixed since 1.8.
  (test_list): Add new test.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659535 13f79535-47bb-0310-9956-ffa450edef68

7 years agoApply the standard pre-branch whitespace cleanup via
Bert Huijben [Fri, 13 Feb 2015 11:17:40 +0000 (13 11:17 +0000)]
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.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659509 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/conflicts.c
Philip Martin [Fri, 13 Feb 2015 10:55:10 +0000 (13 10:55 +0000)]
* subversion/libsvn_wc/conflicts.c
  (read_tree_conflict_desc): Compare reason to svn_wc_conflict_reason_t.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659503 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* build/generator/gen_msvc_dsp.py
Bert Huijben [Fri, 13 Feb 2015 01:12:19 +0000 (13 01:12 +0000)]
* build/generator/gen_msvc_dsp.py
  Fix python syntax warning caused by tab characters.

* subversion/tests/cmdline/svntest/actions.py
  Minor error output improvement on 'svn info' comparison failures.

* subversion/tests/libsvn_subr/x509-test.c
* tools/dist/backport_tests.py
* tools/hook-scripts/control-chars.py
* tools/hook-scripts/validate-files.py
* tools/server-side/svnpubsub/svnpubsub/util.py
  (svn:eol-style): Set to native.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659448 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/wc-queries.sql
Bert Huijben [Fri, 13 Feb 2015 01:06:47 +0000 (13 01:06 +0000)]
* subversion/libsvn_wc/wc-queries.sql
  (STMT_COPY_NODE_MOVE): Keep recorded size and timestamp unless checksum
    changes. The file merge code (on prop and text changes) should handle
    all cases, but comparing checksum (again) here is a cheap safety net.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659447 13f79535-47bb-0310-9956-ffa450edef68

7 years agoResolve an error when we try to record a tree conflict because we are not
Bert Huijben [Fri, 13 Feb 2015 00:24:02 +0000 (13 00:24 +0000)]
Resolve an error when we try to record a tree conflict because we are not
allowed to update the entire working copy. In this case we tried to read
directly from BASE while the data could already be moved.

* subversion/libsvn_wc/wc_db_update_move.c
  (bump_mark_tree_conflict): Add op-depth argument and use it to read from
    the right layer.
  (bump_moved_layer): Update caller. Avoid reimplementing svn_relpath_limit
    less efficient.
  (svn_wc__db_bump_moved_away): Update caller.

* subversion/tests/libsvn_wc/op-depth-test.c
  (move_deep_bump): New test.
  (test_list): Add move_deep_bump.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659445 13f79535-47bb-0310-9956-ffa450edef68

7 years agoEnable directly reading the node kind when reading conflicts from wc_db.
Bert Huijben [Fri, 13 Feb 2015 00:19:36 +0000 (13 00:19 +0000)]
Enable directly reading the node kind when reading conflicts from wc_db.
This avoids a database transaction for a common operation during conflict
resolving (and when retrieving conflicts via apis like 'svn info').

* subversion/libsvn_wc/conflicts.c
  (read_tree_conflict_desc): Add node kind argument and use that to
    fill kind.
  (svn_wc__conflict_invoke_resolver): Update caller. Fetch kind.
  (svn_wc__read_conflicts): Fetch and pass kind.
  (resolve_prop_conflict_on_node): Add conflicts argument.
  (svn_wc__mark_resolved_text_conflict,
   svn_wc__mark_resolved_prop_conflicts,
   conflict_status_walker): Update caller.

* subversion/libsvn_wc/copy.c
  (copy_versioned_file,
   remove_node_conflict_markers): Update caller.

* subversion/libsvn_wc/delete.c
  (create_delete_wq_items): Update caller.

* subversion/libsvn_wc/entries.c
  (read_one_entry): Update caller.

* subversion/libsvn_wc/props.c
  (svn_wc__create_prejfile): Update caller.

* subversion/libsvn_wc/questions.c
  (internal_conflicted_p): Update caller.

* subversion/libsvn_wc/wc_db.c
  (op_revert_txn,
   svn_wc__db_read_conflict): Update caller.
  (svn_wc__db_read_conflict_internal): Extend usage of error handling query.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_read_conflict): Add optional argument.

* subversion/libsvn_wc/wc_db_private.h
  (svn_wc__db_read_conflict_internal): Add optional argument.

* subversion/libsvn_wc/wc_db_update_move.c
  (create_tree_conflict,
   get_tc_info,
   bump_moved_layer): Update caller.

* subversion/libsvn_wc/workqueue.c
  (run_prej_install): Update caller.

* subversion/tests/libsvn_wc/conflict-data-test.c
  (test_read_write_tree_conflicts): Add file to allow retrieving kind from db.

* subversion/tests/libsvn_wc/op-depth-test.c
  (check_db_conflicts,
   check_tree_conflict_repos_path): Update caller.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659442 13f79535-47bb-0310-9956-ffa450edef68

7 years agoUse journal_mode = TRUNCATE for sqlite [1] instead of default DELETE value.
Ivan Zhakov [Thu, 12 Feb 2015 22:42:35 +0000 (12 22:42 +0000)]
Use journal_mode = TRUNCATE for sqlite [1] instead of default DELETE value.
It makes svn checkout about 10% faster on Windows at expense of one empty
file in .svn. Create/delete file is relatively expensive operation on
Windows, especially if indexes/virus scanners are enabled.

The TRUNCATE and DELETE journal modes are compatible, so different
Subversion clients with different journal mode should just work with same
working copy without problems.

[1] http://www.sqlite.org/pragma.html#pragma_journal_mode

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__open): Execute PRAGMA journal_mode = TRUNCATE when opening
   sqlite database.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659426 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/wc_db.c
Bert Huijben [Thu, 12 Feb 2015 21:46:50 +0000 (12 21:46 +0000)]
* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_op_copy_layer_internal):
     Following up on r1659418, reduce variable scope of column data.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659420 13f79535-47bb-0310-9956-ffa450edef68

7 years agoResolve an old TODO from one of the op-depth bump helper functions:
Bert Huijben [Thu, 12 Feb 2015 21:41:53 +0000 (12 21:41 +0000)]
Resolve an old TODO from one of the op-depth bump helper functions:
Cleanup some test code.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_SELECT_LAYER_FOR_REPLACE): Remove unused inner query.

* subversion/libsvn_wc/wc_db.c
  (db_extend_parent_delete): Remove unused diagnostics argument.
  (insert_base_node): Update caller.
  (svn_wc__db_op_copy_layer_internal): Use a simple check to see
    when a parent delete might need extension.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659418 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollowing up on r1659381, properly check for the difference between added
Bert Huijben [Thu, 12 Feb 2015 21:09:36 +0000 (12 21:09 +0000)]
Following up on r1659381, properly check for the difference between added
and obstructed (locally existing, but not added) nodes to avoid expectation
problems.

* subversion/libsvn_client/merge.c
  (merge_file_opened,
   merge_dir_opened): Check if the node is really added.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659400 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake the SQLite amalgamated build work with recent versions of the
Branko Cibej [Thu, 12 Feb 2015 21:05:23 +0000 (12 21:05 +0000)]
Make the SQLite amalgamated build work with recent versions of the
SQLite amalgamation.

At some point in the not too distant past, the SQLite devs arbitrarily
decided to change their feature checks (some 14k lines deep within the
amalgamated sqlite3.c file) from #ifdef to #if conditions. Of course,
to make things more interesting, the visible ones at the top of that
file are still #ifdef's.

* subversion/libsvn_subr/sqlite3wrapper.c
  (SQLITE_OMIT_DEPRECATED): Define this symbol to 1.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659399 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* CHANGES: Add an entry for 'svn copy --pin-externals'.
Stefan Sperling [Thu, 12 Feb 2015 21:04:52 +0000 (12 21:04 +0000)]
* CHANGES: Add an entry for 'svn copy --pin-externals'.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659398 13f79535-47bb-0310-9956-ffa450edef68

7 years agoDo not attempt to build bindings with Swig 3.0+. Current versions
Branko Cibej [Thu, 12 Feb 2015 20:55:13 +0000 (12 20:55 +0000)]
Do not attempt to build bindings with Swig 3.0+. Current versions
break the Python bindings.

* build/ac-macros/swig.m4
  (SVN_FIND_SWIG): Add an upper limite to supported Swig versions.
   Do not configure bindings if the detected Swig is not suitable.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659397 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMerge the pin-externals branch to trunk.
Stefan Sperling [Thu, 12 Feb 2015 20:38:01 +0000 (12 20:38 +0000)]
Merge the pin-externals branch to trunk.

The discussion thread start in this post:
http://mail-archives.apache.org/mod_mbox/subversion-dev/201501.mbox/%3C20150128095434.GM26869%40ted.stsp.name%3E
has come to a consensus that the branch can be merged and additional
development of this feature can happen on trunk.

This merge adds a '--pin-externals' option to 'svn copy'.
This option enables automated pinning of URLs in svn:externals properties
during copy operations (issue #1258).

  --pin-externals          : pin externals with no explicit revision to their
                             last-changed revision (recommended when tagging)

This feature makes the svncopy.pl contrib script unnecessary.

Externals are "pinned" by adding a peg revision to the external's source URL.
For example, the external definition:
  ^/foo/bar ext_bar
might become:
  ^/foo/bar@400 ext_bar

This table shows which revision is used for pinning:

    copy source: working copy (WC)       REPOS
   ------------+------------------------+---------------------------+
    copy    WC | external's WC BASE rev | external's repos HEAD rev |
    dest:      |------------------------+---------------------------+
         REPOS | external's WC BASE rev | external's repos HEAD rev |
   ------------+------------------------+---------------------------+

An external that is already pinned is left as-is.

Please see the branch log for details about these changes.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659395 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/update_editor.c
Bert Huijben [Thu, 12 Feb 2015 20:08:57 +0000 (12 20:08 +0000)]
* subversion/libsvn_wc/update_editor.c
  (complete_conflict): Apply a few constness fixes. Remove unused variable.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659389 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollowing up on the recent addition of move_conflict_details and
Bert Huijben [Thu, 12 Feb 2015 19:57:53 +0000 (12 19:57 +0000)]
Following up on the recent addition of move_conflict_details and
update_conflict_details tests, add a merge_conflict_details test.

Make merge provide different conflict reasons for local additions and
unversioned obstructions.

* subversion/libsvn_client/merge.c
  (merge_file_opened,
   merge_dir_opened): Don't report local additions as unversioned obstructions.

* subversion/libsvn_wc/conflicts.c
  (read_tree_conflict_desc): Allow retrieving the node kind of deleted nodes.

* subversion/tests/cmdline/merge_tree_conflict_tests.py
  (merge_conflict_details): New test.
  (test_list): Add test.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659381 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, merge outstanding changes from trunk.pin-externalspin-externals
Stefan Sperling [Thu, 12 Feb 2015 19:20:22 +0000 (12 19:20 +0000)]
On the pin-externals branch, merge outstanding changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659374 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, improve the C test.
Stefan Sperling [Thu, 12 Feb 2015 19:15:16 +0000 (12 19:15 +0000)]
On the pin-externals branch, improve the C test.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Ensure that all externals from test data
   are checked when checking the unparsed form of pinned externals.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659370 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, improve the C test.
Stefan Sperling [Thu, 12 Feb 2015 19:11:41 +0000 (12 19:11 +0000)]
On the pin-externals branch, improve the C test.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Ensure that all externals from test data
   are checked when checking the parsed form of pinned externals.
   Avoids mistakes in case more test data is added in future without
   adding a parsed test case for the data.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659368 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd regression test on several tree conflict descriptions on update and
Bert Huijben [Thu, 12 Feb 2015 19:09:44 +0000 (12 19:09 +0000)]
Add regression test on several tree conflict descriptions on update and
fix some missing repository information on incoming replace conflicts.

* subversion/libsvn_wc/update_editor.c
  (complete_conflict): Add delete_conflict argument and use this to
    fill in missing information on replacements.
  (mark_directory_edited,
   mark_file_edited,
   open_root): Update caller.
  (delete_entry): Remove unneeded kind transforms.
  (add_directory,
   close_directory): Pass replace info.
  (absent_node): Update caller.
  (add_file): Pass replace info.
  (change_file_prop): Update caller.
  (close_file): Pass replace info.

* subversion/tests/cmdline/update_tests.py
  (update_conflict_details): New test.
  (test_list): Add update_conflict_details.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659365 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, make some stylistic tweaks in the C test.
Stefan Sperling [Thu, 12 Feb 2015 19:00:42 +0000 (12 19:00 +0000)]
On the pin-externals branch, make some stylistic tweaks in the C test.

No functional change.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Use an array of external items instead of
   several variables. Loop over test data while building the externals
   property to ensure that all test data is included.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659363 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, add a test case with an item that has an
Stefan Sperling [Thu, 12 Feb 2015 18:49:17 +0000 (12 18:49 +0000)]
On the pin-externals branch, add a test case with an item that has an
operative and a peg revision.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Add new case to test data and verify it.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659358 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r1659352:
Stefan Sperling [Thu, 12 Feb 2015 18:41:56 +0000 (12 18:41 +0000)]
Follow-up to r1659352:

On the pin-externals branch:

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Actually use the last item in the test data list.
   Adjust test expectations accordingly.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659356 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, check that {DATE} revisions retain
Stefan Sperling [Thu, 12 Feb 2015 18:32:50 +0000 (12 18:32 +0000)]
On the pin-externals branch, check that {DATE} revisions retain
their exact string representation during the pinning process.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Add some test data with dated revisions.

Suggested by: julianfoad

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659352 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, extend a regression test.
Stefan Sperling [Thu, 12 Feb 2015 18:06:47 +0000 (12 18:06 +0000)]
On the pin-externals branch, extend a regression test.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Check the unparsed form of pinned externals
   definitions, too. Keep the tests for parsed form for now. This might seem
   redundant but the existing tests for externals parsing don't verify
   parsing of revisions and peg-revisions, which this test does.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659344 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, deprecate the svncopy.pl script.
Stefan Sperling [Thu, 12 Feb 2015 17:11:18 +0000 (12 17:11 +0000)]
On the pin-externals branch, deprecate the svncopy.pl script.

* contrib/client-side/svncopy/svncopy.pl.in: Document the fact that this
  script is deprecated and explain what the recommended alternatives are.

Suggested by: julianfoad

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659324 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, add some docstrings.
Stefan Sperling [Thu, 12 Feb 2015 17:06:26 +0000 (12 17:06 +0000)]
On the pin-externals branch, add some docstrings.

* subversion/libsvn_client/copy.c
  (make_external_description,  resolve_pinned_externals,
   queue_externals_change_path_infos): Add docstrings.

Suggested by: julianfoad

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659319 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMove atomic protection inside svn_dso_initialize2.
Philip Martin [Thu, 12 Feb 2015 16:54:49 +0000 (12 16:54 +0000)]
Move atomic protection inside svn_dso_initialize2.

* subversion/libsvn_subr/dso.c
  (svn_dso_initialize2): Add atomic protection, move original code to...
  (atomic_init_func): ...here.
  (svn_dso_load): Simple call to svn_dso_initialize2.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659315 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_fs_fs/lock.c
Philip Martin [Thu, 12 Feb 2015 16:48:46 +0000 (12 16:48 +0000)]
* subversion/libsvn_fs_fs/lock.c
  (lock_body): Call apr_pstrdup() when initializing svn_lock_t fields.

Patch by: sergey.raevskiy{_AT_}visualsvn.com

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659314 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, improve API documentation.
Stefan Sperling [Thu, 12 Feb 2015 16:44:45 +0000 (12 16:44 +0000)]
On the pin-externals branch, improve API documentation.

* subversion/include/svn_client.h
  (svn_client_copy7): Explain what "pinning" an external means and
   explain the necessary preconditions for pinning WC externals.

Suggested by: julianfoad

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659311 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, merge outstanding changes from trunk.
Stefan Sperling [Thu, 12 Feb 2015 16:14:28 +0000 (12 16:14 +0000)]
On the pin-externals branch, merge outstanding changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1659301 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/cmdline/move_tests.py
Philip Martin [Thu, 12 Feb 2015 16:09:56 +0000 (12 16:09 +0000)]
* subversion/tests/cmdline/move_tests.py
  (move_conflict_details): Expect relative path.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659298 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the remove-log-addressing branch: Merge changes from trunk.
Ivan Zhakov [Thu, 12 Feb 2015 15:50:47 +0000 (12 15:50 +0000)]
On the remove-log-addressing branch: Merge changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/remove-log-addressing@1659291 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake the paths in the 'svn info' output consistently use
Bert Huijben [Thu, 12 Feb 2015 15:04:11 +0000 (12 15:04 +0000)]
Make the paths in the 'svn info' output consistently use
svn_cl__local_style_skip_ancestor instead of a mix of wcroot relative,
absolute and normal relative paths with in some cases proper local and
in others '/' path separators.

* subversion/svn/info-cmd.c
  (print_info): Tweak moved to/from and property conflict paths.

* subversion/tests/cmdline/move_tests.py
  (move_func): Update expected result.
  (move_conflict_details): Update expected result.

* subversion/tests/cmdline/prop_tests.py
  (dir_prop_conflict_details): Update expected result.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659283 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/svn/info-cmd.c
Bert Huijben [Thu, 12 Feb 2015 14:41:18 +0000 (12 14:41 +0000)]
* subversion/svn/info-cmd.c
  (print_info): Pass right enum value. No functional change as both
    enum values evaluate to 0.

Found by: brane

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659279 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIn the move-update logic properly detect incoming add conflicts. Add
Bert Huijben [Thu, 12 Feb 2015 14:21:30 +0000 (12 14:21 +0000)]
In the move-update logic properly detect incoming add conflicts. Add
regression test.

* subversion/libsvn_wc/conflicts.c
  (read_tree_conflict_desc): When the local change is an add or replace
    the node kind isn't fetchable from the conflict kind.

* subversion/libsvn_wc/wc_db_update_move.c
  (create_tree_conflict): While applying moves we always have an old version
    to record.
  (create_node_tree_conflict): As we know src and dest we can just calculate
    the relpath we need.
  (mark_tc_on_op_root): Remove unneeded argument. Update caller.
  (mark_node_edited): Update caller.
  (tc_editor_add_directory,
   tc_editor_add_file): Properly detect all kinds of local add tree conflicts.
  (tc_editor_alter_directory,
   svn_node_file): What we try to merge doesn't change on an obstruction.
     Update caller.
  (tc_editor_delete): Update caller.

* subversion/tests/cmdline/move_tests.py
  (move_conflict_details): Extend test.

* subversion/tests/libsvn_wc/op-depth-test.c
  (del4_update_delself_AAA,
   move4_update_delself_AAA,
   movedhere_extract_retract): Extend test. Update expected results.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659271 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIn preparation for my following patch that improves obstruction detection
Bert Huijben [Thu, 12 Feb 2015 13:12:40 +0000 (12 13:12 +0000)]
In preparation for my following patch that improves obstruction detection
on update-move extend the 'svn info' output with some information about
text and property conflicts that is currently only shown when there is
(also) a tree conflict.

* subversion/svn/cl-conflicts.c
  (svn_cl__get_human_readable_action_description): New function.

* subversion/svn/cl-conflicts.h
  (svn_cl__get_human_readable_action_description): New function.

* subversion/svn/info-cmd.c
  (print_info): Make sure the left and right version are logically
    grouped by adding an header if there is a conflict but no tree
    conflict.

* subversion/tests/cmdline/prop_tests.py
  (dir_prop_conflict_details): Update expected result.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659244 13f79535-47bb-0310-9956-ffa450edef68

7 years agoProvide some backward compatibility after the svn-bench rename (and
Stefan Fuhrmann [Thu, 12 Feb 2015 12:16:38 +0000 (12 12:16 +0000)]
Provide some backward compatibility after the svn-bench rename (and
earlier move from the tools section into the SVN main stage).

* Makefile.in
  (INSTALL_EXTRA_TOOLS): Install "svn-bench" as a symlink to 'svnbench'
                         into our tools directory.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659236 13f79535-47bb-0310-9956-ffa450edef68

7 years agoUpdate help texts in svnbench to reflect the tool rename.
Stefan Fuhrmann [Thu, 12 Feb 2015 11:54:11 +0000 (12 11:54 +0000)]
Update help texts in svnbench to reflect the tool rename.

* subversion/svnbench/help-cmd.c
  (svn_cl__help): Say "svnbench" instead of "svn-bench".

* subversion/svnbench/null-info-cmd.c
  (svn_cl__null_info): Same.

* subversion/svnbench/null-list-cmd.c
  (svn_cl__null_list): Same.

* subversion/svnbench/null-log-cmd.c
  (svn_cl__null_log): Same.

* subversion/svnbench/svnbench.c
  (sub_main,
   main): Same.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659231 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r 1659226: Update build.conf .
Stefan Fuhrmann [Thu, 12 Feb 2015 11:29:54 +0000 (12 11:29 +0000)]
Follow-up to r 1659226: Update build.conf .

* build.conf
  (__ALL__): Reference new tool name.
  (svn-bench): Rename to ...
  (svnbench): ... this and update the path name.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659228 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRename svn-bench to svnbench.
Stefan Fuhrmann [Thu, 12 Feb 2015 11:28:11 +0000 (12 11:28 +0000)]
Rename svn-bench to svnbench.

* build.conf
  (__ALL__): Reference new tool name.
  (svn-bench): Rename to ...
  (svnbench): ... this and update the path name.

* subversion/svn-bench: Rename to ...
* subversion/svnbench: ... this.  Update svn:ignore entry for the binary.

* subversion/svnbench/svn-bench.c: Rename to ...
* subversion/svnbench/svnbench.c: ... this. Update help texts.

* subversion/svnbench/help-cmd.c
* subversion/svnbench/null-info-cmd.c
* subversion/svnbench/null-list-cmd.c
* subversion/svnbench/null-log-cmd.c
  (): Update help texts to say "svnbench" instead of "svn-bench".

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659226 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow-up to r1658482: Refactor walk_locks() function: remove the redundant
Philip Martin [Thu, 12 Feb 2015 10:42:45 +0000 (12 10:42 +0000)]
Follow-up to r1658482: Refactor walk_locks() function: remove the redundant
complexity of walk_digest_files() / walk_digests_callback_t.

* subversion/libsvn_fs_fs/lock.c
  (lock_expired): New helper function.
  (get_lock): Use the new function.
  (struct walk_locks_baton,
   walk_digests_callback_t,
   locks_walker,
   walk_digest_files): Remove.
  (walk_locks): Inline code from locks_walker() and walk_digest_files() with
    use of new helper function.

Patch by: sergey.raevskiy{_AT_}visualsvn.com

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659217 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake property and text conflicts during move-update resolving produce the right
Bert Huijben [Thu, 12 Feb 2015 10:41:22 +0000 (12 10:41 +0000)]
Make property and text conflicts during move-update resolving produce the right
notifications. The notification problem could be a recent regression as we
didn't test for this.

The regression test also triggers the problem fixed in r1659185.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_move_list_add): Add db argument. Only change notification to tree
    conflict when there is a tree conflict.
  (mark_tc_on_op_root,
   tc_editor_add_directory,
   tc_editor_add_file,
   tc_editor_alter_directory,
   tc_editor_alter_file,
   tc_editor_delete,
   bump_mark_tree_conflict,
   svn_wc__db_op_raise_moved_away_internal): Update caller.
  (break_moved_away_children): Add db argument. Update caller.
  (svn_wc__db_resolve_break_moved_away_children): Update caller.

* subversion/tests/cmdline/move_tests.py
  (move_conflict_details): New test.
  (test_list): Add move_conflict_details.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659213 13f79535-47bb-0310-9956-ffa450edef68

7 years agoSimplify implementation of svn_fs_fs__lock() / svn_fs_fs__unlock().
Philip Martin [Thu, 12 Feb 2015 10:38:48 +0000 (12 10:38 +0000)]
Simplify implementation of svn_fs_fs__lock() / svn_fs_fs__unlock().

* subversion/libsvn_fs_fs/lock.c
  (schedule_index_update): New helper function.
  (struct lock_info_t,
   struct unlock_info_t): Drop the unused fields.
  (lock_body,
   unlock_body): Rework the algorithm.

Patch by: sergey.raevskiy{_AT_}visualsvn.com

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659212 13f79535-47bb-0310-9956-ffa450edef68

7 years agoResolve regression against 1.8.x in calling 'svn info' on a property
Bert Huijben [Thu, 12 Feb 2015 09:48:06 +0000 (12 09:48 +0000)]
Resolve regression against 1.8.x in calling 'svn info' on a property
conflicted node that doesn't have a BASE record.

* subversion/libsvn_wc/conflicts.c
  (read_prop_conflict_descs): Read the pristine props instead of the BASE
    props to allow creating a property conflict description for properties
    on a node that was copied.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659185 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIntroduce run-time predicates into the C test suite.
Branko Cibej [Wed, 11 Feb 2015 21:59:03 +0000 (11 21:59 +0000)]
Introduce run-time predicates into the C test suite.

This lets us write tests that produce different results depending on
filesystem type back-end type, etc; properties that can only be
determined at run time, not at compile time, when the test list
is constructed.

* subversion/tests/svn_test.h
  (svn_test_predicate_func_t) New function type.
  (svn_test_predicate_t): New. Describes a run-time predicate.
  (svn_test_descriptor_t): Added a predicate member.
  (SVN_TEST_OPTS_XFAIL_OTOH): New test descriptor initializer.
  (SVN_TEST_PASS_IF_FS_TYPE_IS,
   SVN_TEST_PASS_IF_FS_TYPE_IS_NOT): New predicate initializers.
  (svn_test__fs_type_is, svn_test__fs_type_not): New predicate functions.

* subversion/tests/svn_test_main.c
  (log_results): Print the predicate description in --list mode.
  (do_test_num, test_thread): Test run-time predicates.
  (svn_test__fs_type_is, svn_test__fs_type_not): Implement.

* subversion/tests/libsvn_fs/fs-test.c
  (test_funcs): Mark the reopen_modify test to PASS on when the
   filesystem type is not FSFS, but XFAIL otherwise.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659101 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollow up to r1659010: Instead of killin the child svnserve process
Branko Cibej [Wed, 11 Feb 2015 17:55:52 +0000 (11 17:55 +0000)]
Follow up to r1659010: Instead of killin the child svnserve process
in ra-test, attempt to stop it by closing the process pipes and
waiting for the process to exit normally.

* subversion/tests/svn_test.h: Include stdio.h.
  (SVN_TEST_ASSERT_NO_RETURN): New assertion macro.

* subversion/tests/libsvn_ra/ra-test.c
  (close_tunnel): Close pipes and wait for the subprocess to exit.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659016 13f79535-47bb-0310-9956-ffa450edef68

7 years agoWrap svn_dso_initialize2 call with svn_atomic__init_once, this
Philip Martin [Wed, 11 Feb 2015 17:48:06 +0000 (11 17:48 +0000)]
Wrap svn_dso_initialize2 call with svn_atomic__init_once, this
fixes a crash in the DSO hash code when running the C tests in
parallel.

* subversion/libsvn_subr/dso.c
  (atomic_init_func): New.
  (svn_dso_load): Use svn_atomic__init_once.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659013 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIn the test where we use svnserve as a subprocess, close the repository
Bert Huijben [Wed, 11 Feb 2015 17:19:32 +0000 (11 17:19 +0000)]
In the test where we use svnserve as a subprocess, close the repository
before using it via svnserve to avoid multiple races when closing down.

Our BDB handle and the ra session are in the same pool and are closed
around the same time, but once we may immediately start a delete
attempt as part of the test cleanup.

And we know BDB is not friendly towards outside DB changes....

* subversion/tests/libsvn_ra/ra-test.c
  (tunnel_repos_name): Move into only function that uses this.
  (tunnel_callback_test): Create repository in scratch pool.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659011 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix a race in ra-test that could cause a deadlock in BDB cleanup.
Branko Cibej [Wed, 11 Feb 2015 17:15:49 +0000 (11 17:15 +0000)]
Fix a race in ra-test that could cause a deadlock in BDB cleanup.

* subversion/tests/libsvn_ra/ra-test.c
  (close_baton_t): Remember the handle of the child svnserver process.
  (open_tunnel): Set subprocess state o APR_KILL_NEVER, regardless of
   platform, so that pool cleanup cannot interact with normal
   subprocess termination. Remember the process handle in the
   close-tunnel baton.
  (close_tunnel): Kill the child svnserve process.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659010 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake some private dumpfile APIs more opaque.
Julian Foad [Wed, 11 Feb 2015 16:55:08 +0000 (11 16:55 +0000)]
Make some private dumpfile APIs more opaque.

* subversion/include/private/svn_repos_private.h,
  subversion/libsvn_repos/dump.c
  (svn_repos__dumpfile_header_entry_t): Move from the header to the
    implementation.
  (svn_repos__dumpfile_headers_t): New.
  (svn_repos__dumpfile_header_push,
   svn_repos__dumpfile_header_pushf,
   svn_repos__dump_headers,
   svn_repos__dump_node_record): Use svn_repos__dumpfile_headers_t instead
    of apr_array_header_t. Remove the redundant 'terminate' parameter from
    svn_repos__dump_headers. Update callers.

* subversion/svndumpfilter/svndumpfilter.c
  (node_baton_t): Update to use svn_repos__dumpfile_headers_t instead
    of apr_array_header_t.

* subversion/svnrdump/dump_editor.c
  (dir_baton,
   get_props_content,
   dump_node_delete,
   dump_node,
   dump_mkdir,
   close_file): Update to use svn_repos__dumpfile_headers_t instead
    of apr_array_header_t.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659005 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/svnrdump/dump_editor.c
Julian Foad [Wed, 11 Feb 2015 16:47:31 +0000 (11 16:47 +0000)]
* subversion/svnrdump/dump_editor.c
  (dump_node_delete): Use svn_repos__dump_node_record() instead of
    svn_repos__dump_headers(), for consistency, as we are dumping a
    complete node record here.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1659001 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_fs_base/fs.c
Bert Huijben [Wed, 11 Feb 2015 16:26:47 +0000 (11 16:26 +0000)]
* subversion/libsvn_fs_base/fs.c
  (base_open): Combine errors.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658998 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_fs_base/fs.c
Bert Huijben [Wed, 11 Feb 2015 16:21:37 +0000 (11 16:21 +0000)]
* subversion/libsvn_fs_base/fs.c
  (base_create): Return both the create and close/delete errors.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658996 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRemove a self-proclaimed "ugly hack" in svnrdump. The 'dump_newlines' flag
Julian Foad [Wed, 11 Feb 2015 15:56:23 +0000 (11 15:56 +0000)]
Remove a self-proclaimed "ugly hack" in svnrdump. The 'dump_newlines' flag
is no longer necessary, following recent changes to the way in which node
records are dumped.

* subversion/svnrdump/dump_editor.c
  (dir_baton): Remove the 'dump_newlines' flag.
  (dump_node,
   change_dir_prop): Don't set the flag.
  (dump_pending_dir): Always print newlines here, since we always output a node
    record here.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658992 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFix potential aborts in the ra test caused by running two functions that
Bert Huijben [Wed, 11 Feb 2015 14:24:05 +0000 (11 14:24 +0000)]
Fix potential aborts in the ra test caused by running two functions that
use a separate svnserve instance in parallel, while sharing some static
variables.

* subversion/tests/libsvn_ra/ra-test.c
  (last_tunnel_check,
   tunnel_open_count,
   check_tunnel_baton,
   open_tunnel_context): Remove static variables.
  (tunnel_baton_t,
   close_baton_t): New struct.
  (TUNNEL_MAGIC,
   CLOSE_MAGIC): New defines.
  (check_tunnel,
   open_tunnel,
   close_tunnel): Use tunnel baton instead of static vars.
  (check_tunnel_callback_test,
   tunnel_callback_test): Init and pass a tunnel baton.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658968 13f79535-47bb-0310-9956-ffa450edef68

7 years agoFollowing r1658926, do a bit more deduplication of the code that writes the
Julian Foad [Wed, 11 Feb 2015 13:25:16 +0000 (11 13:25 +0000)]
Following r1658926, do a bit more deduplication of the code that writes the
hook script templates.

This revealed an inconsistency in localization of error messages. The wrapped
error messages were not localized for pre/post-lock/unlock. Fix this too.

* subversion/libsvn_repos/repos.c
  (write_hook_template_file): New function factored out of create_hooks().
  (create_hooks): Use it for each of the nine hook script templates. Mark error
    messages for localization where missing.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658952 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/mod_dav_svn/deadprops.c
Ivan Zhakov [Wed, 11 Feb 2015 12:31:07 +0000 (11 12:31 +0000)]
* subversion/mod_dav_svn/deadprops.c
  (get_name): Use apr_hash_this_key() instead of apr_hash_this().

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658943 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake all nine hook script templates include consistent descriptions of the
Julian Foad [Wed, 11 Feb 2015 11:13:16 +0000 (11 11:13 +0000)]
Make all nine hook script templates include consistent descriptions of the
conditions under which they are invoked.

The pre/post-lock/unlock templates lacked the "The hook program runs
in an empty environment..." and "For more examples..." paragraphs. The
pre/post-revprop-change templates lacked the "default working directory
... is undefined" paragraph.

* subversion/libsvn_repos/repos.c
  (hook_template_text): New function containing text factored out of
    create_hooks().
  (create_hooks): Use it for each of the nine hook script templates.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658926 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake svn_wc__db_fetch_repos_info take a wcroot argument, like virtually
Bert Huijben [Wed, 11 Feb 2015 02:11:37 +0000 (11 02:11 +0000)]
Make svn_wc__db_fetch_repos_info take a wcroot argument, like virtually
all other wc_db internal apis.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_fetch_repos_info): Update argument type.
  (svn_wc__db_base_get_info,
   base_get_children_info,
   svn_wc__db_external_read,
   get_info_for_copy,
   db_op_copy_shadowed_layer,
   svn_wc__db_read_info,
   read_children_info,
   read_single_info,
   read_url_txn,
   relocate_txn): Update caller.
  (svn_wc__db_scan_addition): Update caller and use SVN_WC__DB_WITH_TXN4,
    to avoid additional db operations.
  (has_switched_subtrees,
   svn_wc__db_base_get_lock_tokens_recursive): Update caller.

* subversion/libsvn_wc/wc_db_private.h
  (svn_wc__db_fetch_repos_info): Update argument type.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_moved_away_conflict_victim,
   bump_mark_tree_conflict): Update caller.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658866 13f79535-47bb-0310-9956-ffa450edef68

7 years agoAdd proper cancellation handling to the move-update handling.
Bert Huijben [Wed, 11 Feb 2015 01:56:57 +0000 (11 01:56 +0000)]
Add proper cancellation handling to the move-update handling.
Fold short function into its single caller.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_move_baton_t): Add cancel vars.
  (tc_editor_alter_file): Pass cancel info.
  (update_moved_away_node):
    Remove unneeded lock check handled in only caller.
    Call cancel func if available.
  (drive_tree_conflict_editor): Remove function. Fold into its
    only caller.
  (update_moved_away_conflict_victim): Integrate drive_tree_conflict_editor.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658863 13f79535-47bb-0310-9956-ffa450edef68

7 years agoWhen bumping nodes during update-move use the information in NODES as
Bert Huijben [Wed, 11 Feb 2015 01:39:58 +0000 (11 01:39 +0000)]
When bumping nodes during update-move use the information in NODES as
primary information source about what we are moving.

* subversion/libsvn_wc/conflicts.c
  (resolve_tree_conflict_on_node): Update caller.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_update_moved_away_conflict_victim): Add 'a few' arguments.
    Sort arguments with standard wc_db ordering.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_moved_away_conflict_victim): Add revision output arguments and
    fetch source and destination repository information here.
  (svn_wc__db_update_moved_away_conflict_victim): Update caller. Remove call
    to get_tc_info().

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658857 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake the (non recursive) revert db operation properly report tree conflicts
Bert Huijben [Wed, 11 Feb 2015 00:42:01 +0000 (11 00:42 +0000)]
Make the (non recursive) revert db operation properly report tree conflicts
that it creates by both fixing what is stored in the tree conflict and by
properly creating notifications.

Note that a recursive revert wouldn't encounter this problem as it
would just break the moves.

* subversion/libsvn_wc/token-map.h
  (kind_map): New array.

* subversion/libsvn_wc/wc-queries.sql
  (STMT_CREATE_REVERT_LIST): Only add interesting rows.
  (STMT_SELECT_REVERT_LIST_RECURSIVE): Make the revert information available
    instead of just the name.
  (STMT_CREATE_UPDATE_MOVE_LIST): Store kind as token like in other places,
    to allow transforming to revert information.
  (STMT_MOVE_NOTIFY_TO_REVERT): New statement.

* subversion/libsvn_wc/wc_db.c
  (op_revert_txn): Only bump moved nodes after they have been moved to the
    final op-depth. Transform move_update information into revert information.
  (revert_list_read): Simplify, since we can now assume only normal reverts
    are in the list.
  (svn_wc__db_revert_list_notify): Handle new tree conflict notifications and
    pass kind when available.

* subversion/libsvn_wc/wc_db_private.h
  (svn_wc__db_op_raise_moved_away_internal): New function.

* subversion/libsvn_wc/wc_db_update_move.c
  (update_move_list_add): Set kind as token instead of as integer.
  (svn_wc__db_update_move_list_notify): Read kind as token.
  (resolve_delete_raise_moved_away): Rename to...
  (svn_wc__db_op_raise_moved_away_internal): ... this. Make public and add
    delete_op_depth argument, to allow bumping from a higher root node.
  (break_moved_away_children): Use existing kind column to improve
    notifications.

* subversion/tests/cmdline/move_tests.py
  (revert_del_root_of_move): New function.

* subversion/tests/libsvn_wc/op-depth-test.c
  (move_in_delete): Remove ### comment.
  (test_funcs): Remove XFail marker from move_in_delete.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658848 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/libsvn_wc/op-depth-test.c
Bert Huijben [Tue, 10 Feb 2015 16:09:49 +0000 (10 16:09 +0000)]
* subversion/tests/libsvn_wc/op-depth-test.c
  (move_in_delete): Update expected result and document why.
  (test_list): Mark move_in_delete XFail as it tries to store
    invalid information in a tree conflict.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658746 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, repair test breakage introduced by the most
Stefan Sperling [Tue, 10 Feb 2015 15:47:21 +0000 (10 15:47 +0000)]
On the pin-externals branch, repair test breakage introduced by the most
recent merge with trunk which brought in the changes from r1658410.

* subversion/tests/cmdline/externals_tests.py
  (verify_pinned_externals, copy_pin_externals_repos_repos,
   copy_pin_externals_repos_wc, copy_pin_externals_wc_repos,
   copy_pin_externals_wc_wc, copy_pin_externals_removed_in_head,
   copy_pin_externals_from_old_rev, copy_pin_externals_wc_local_mods,
   copy_pin_externals_wc_switched_subtrees,
   copy_pin_externals_wc_mixed_revisions): Adjust run_and_verify_svn calls.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1658736 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* build.conf (private-built-includes): Add new header.
Philip Martin [Tue, 10 Feb 2015 15:45:50 +0000 (10 15:45 +0000)]
* build.conf (private-built-includes): Add new header.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658735 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch: Tweak the pin-externals API test to
Branko Cibej [Tue, 10 Feb 2015 14:34:08 +0000 (10 14:34 +0000)]
On the pin-externals branch: Tweak the pin-externals API test to
exercise the case where an exernal reference has an operative revision.

* subversion/tests/libsvn_client/client-test.c
  (test_copy_pin_externals): Add operative revisions to two externals
   references, one that gets pinned and one that doesn't.
   Update the expected results.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1658721 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMake all op-depth tests that verify if there is a tree conflict
Bert Huijben [Tue, 10 Feb 2015 13:57:48 +0000 (10 13:57 +0000)]
Make all op-depth tests that verify if there is a tree conflict
automatically verify more details by extending conflict_info_t.

* subversion/tests/libsvn_wc/op-depth-test.c
  (tree_conflict_info): New struct.
  (conflict_info_t): Use tree_conflict_info.
  (EDIT_EDIT_TC): New macro for an edit-edit tree conflict if one
    would occur. (Which should never be the case)
  (print_conflict): Update for new values.
  (tree_conflicts_match): New function.
  (compare_conflict_info): Compare using tree_conflicts_match.
  (check_db_conflicts): Initialize tc values to 0. Load tree conflict
    details from skel.

  (mixed_rev_move,
   update_prop_mod_into_moved,
   move_in_delete,
   finite_move_update_bump,
   del4_update_edit_AAA,
   del4_update_delself_AAA,
   break_move_in_delete,
   move_edit_obstruction): Verify tree conflict data.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658715 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/libsvn_wc/op-depth-test.c
Bert Huijben [Tue, 10 Feb 2015 12:37:55 +0000 (10 12:37 +0000)]
* subversion/tests/libsvn_wc/op-depth-test.c
  (move_in_delete): Extend test.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658699 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIn op-depth test: Use standard construct to select descendants.
Bert Huijben [Tue, 10 Feb 2015 12:33:19 +0000 (10 12:33 +0000)]
In op-depth test: Use standard construct to select descendants.

* subversion/tests/libsvn_wc/op-depth-test.c
  (check_db_rows,
   check_db_conflicts): Update statement usage. Pass wc_id to allow using index.

* subversion/tests/libsvn_wc/wc-test-queries.sql
  (STMT_SELECT_NODES_INFO,
   STMT_SELECT_ACTUAL_INFO): Use IS_STRICT_DESCENDANT_OF instead of like
     and wc_id to allow using index.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658697 13f79535-47bb-0310-9956-ffa450edef68

7 years agoRefactor code a bit.
Ivan Zhakov [Tue, 10 Feb 2015 12:26:53 +0000 (10 12:26 +0000)]
Refactor code a bit.

* subversion/libsvn_delta/compat.c
  (alter_file_cb): Inverse condition to avoid negation.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658696 13f79535-47bb-0310-9956-ffa450edef68

7 years agoIn op-depth test, use a single sql statement for inserting roots and
Bert Huijben [Tue, 10 Feb 2015 12:03:03 +0000 (10 12:03 +0000)]
In op-depth test, use a single sql statement for inserting roots and
other nodes.

* subversion/tests/libsvn_wc/op-depth-test.c
  (insert_dirs,
   insert_actual): Just pass NULL ton insert a db-NULL instead of
     duplicating code.

* subversion/tests/libsvn_wc/wc-test-queries.sql
  (STMT_INSERT_NODE_ROOT,
   STMT_INSERT_ACTUAL_ROOT): Remove unneeded statements.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658691 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, remove a done TODO item from BRANCH-README.
Stefan Sperling [Tue, 10 Feb 2015 11:43:19 +0000 (10 11:43 +0000)]
On the pin-externals branch, remove a done TODO item from BRANCH-README.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1658688 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, merge outstanding changes from trunk.
Stefan Sperling [Tue, 10 Feb 2015 11:41:57 +0000 (10 11:41 +0000)]
On the pin-externals branch, merge outstanding changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1658686 13f79535-47bb-0310-9956-ffa450edef68

7 years agoUse a generated sql header for the op-depth test, to allow using our helper
Bert Huijben [Tue, 10 Feb 2015 11:32:06 +0000 (10 11:32 +0000)]
Use a generated sql header for the op-depth test, to allow using our helper
macros in the test suite.

* build.conf
  (wc_test_queries): New header definition.

* subversion/tests/libsvn_wc
  (svn:ignore): Add wc-test-queries.sql

* subversion/tests/libsvn_wc/op-depth-test.c
  (includes): Add wc-test-queries.h.
  (op_depth_statements): Declare statements.
  (open_wc_db): Always use op_depth_statements.
  (check_db_rows,
   check_db_conflicts,
   insert_dirs,
   insert_actual): Move statements to wc-test-queries.sql
     Update caller.

* subversion/tests/libsvn_wc/wc-test-queries.sql
  New file.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658682 13f79535-47bb-0310-9956-ffa450edef68

7 years agoOn the pin-externals branch, split the test up into several test functions.
Stefan Sperling [Tue, 10 Feb 2015 11:27:10 +0000 (10 11:27 +0000)]
On the pin-externals branch, split the test up into several test functions.

This allows for running tests individually and also reduces the amount of
modified repository state the tests have to consider.

Suggested by: brane
              stefan2

* subversion/tests/cmdline/externals_tests.py
  (copy_pin_externals): Replaced with the new tests below.
  (verify_pinned_externals): Moved out of the old copy_pin_externals test.
  (copy_pin_externals_repos_repos, copy_pin_externals_repos_wc,
   copy_pin_externals_wc_repos, copy_pin_externals_wc_wc,
   copy_pin_externals_removed_in_head, copy_pin_externals_from_old_rev,
   copy_pin_externals_wc_local_mods, copy_pin_externals_wc_switched_subtrees,
   copy_pin_externals_wc_mixed_revisions): Split out of copy_pin_externals.
  (test_list): Adjust accordingly.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/pin-externals@1658680 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/wc_db_update_move.c
Bert Huijben [Tue, 10 Feb 2015 10:48:22 +0000 (10 10:48 +0000)]
* subversion/libsvn_wc/wc_db_update_move.c
  (find_src_op_depth): Mark static. Add documentation.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658663 13f79535-47bb-0310-9956-ffa450edef68

7 years agoSync FSX with FSFS: Merge lock fix r1658482, this fixes locks-test 15.
Philip Martin [Tue, 10 Feb 2015 10:38:14 +0000 (10 10:38 +0000)]
Sync FSX with FSFS: Merge lock fix r1658482, this fixes locks-test 15.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658660 13f79535-47bb-0310-9956-ffa450edef68

7 years agoResolve some edge cases of parsing X.509 certificates.
Ben Reser [Tue, 10 Feb 2015 08:12:58 +0000 (10 08:12 +0000)]
Resolve some edge cases of parsing X.509 certificates.

Multiple attributes of the a Subject or Issuer with the same object id.
Overflow of an object id segment.
Leading zeros in an object id segment.

* subversion/include/svn_x509.h
  (SVN_X509_OID_COMMON_NAME, SVN_X509_OID_COUNTRY, SVN_X509_OID_LOCALITY,
   SVN_X509_OID_STATE, SVN_X509_OID_ORGANIZATION, SVN_X509_OID_ORG_UNIT,
   SVN_X509_OID_EMAIL): Change from string representations to DER encoded
    object ids.
  (svn_x509_name_attr_t): New opaque struct for storing an attribute
    object id and value pair.
  (svn_x509_name_attr_dup, svn_x509_name_attr_get_oid,
   svn_x509_name_attr_get_value, svn_x509_certinfo_get_subject_attrs,
   svn_x509_certinfo_get_issuer_attrs, svn_x509_oid_to_string): New functions.
  (svn_x509_certinfo_get_subject_oids, svn_x509_certinfo_get_issuer_oids):
    Remove.

* subversion/libsvn_subr/x509.h
  (svn_x509_name_attr_t): Add struct.
  (svn_x509_certinfo_t): Remove issuer_oids and subject_oids members and
    make issuer and subject members into an array.

* subversion/libsvn_subr/x509info.c
  (svn_x509_name_attr_dup, deep_copy_name_attrs,
   svn_x509_certinfo_get_subject_attrs,
   svn_x509_certinfo_get_issuer_attrs): New functions.
  (deep_copy_hash, svn_x509_certinfo_get_subject_oids,
   svn_x509_certinfo_get_subject_attr, svn_x509_certinfo_get_issuer_oids,
   svn_x509_certinfo_get_issuer_attr): Remove functions.
  (svn_x509_certinfo_dup): Update to reflect changes to the certinfo
    struct.
  (asn1_oid): Use the DER encoding of the object id and not a string of dotted
    decimal values for the oid.
  (CONSTANT_PAIR): Convenience macro.
  (asn1_oids): Adjust for the changes to the struct.
  (svn_x509_oid_to_string): Moved from asn1_oid_to_strin() and deal with
    overflows and leading zeros.
  (oid_string_to_asn1_oid): Rename to ...
  (oid_to_asn1_oid): ... and adjust to use DER oids instead of strings.
  (oid_string_to_best_label): Rename to ...
  (oid_to_best_label): ... and adjust to use DER oids instead of strings.
  (get_dn, svn_x509_certinfo_get_subject, svn_x509_certinfo_get_issuer):
    Adjust to use the new array of svn_x509_name_attr_t instead of an array and
    hash for the attributes.

* subversion/libsvn_subr/x509parse.c
  (asn1_oid_to_string): Moved to svn_x509_oid_to_string().
  (x509_name_to_certinfo): Adjust to reflect the change to the certinfo struct.
  (x509parse_get_cn): New function to retrieve the common name.
  (x509parse_get_hostnames): Use x509parse_get_cn().
  (svn_x509_parse_cert): Reflect changes to certinfo struct.

* subversion/tests/libsvn_subr/x509-test.c
  (cert_tests): Add tests for edge cases repaired by this commit.
  (compare_oids, compare_results): Update to reflect the API changes.
  (broken_cert_tests, test_x509_parse_cert_broken, test_funcs): Disable the XFAIL
    test setup since we have none now.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658631 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/tests/cmdline/move_tests.py
Bert Huijben [Mon, 9 Feb 2015 23:27:24 +0000 (9 23:27 +0000)]
* subversion/tests/cmdline/move_tests.py
  (build_simple_file_move_tests): Remove all theirs-conflict scenarios as we
    don't implement this option for any tree conflict type at this time.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658604 13f79535-47bb-0310-9956-ffa450edef68

7 years agoMinor argument cleanup inside wc_db private code. No external behaviour changes.
Bert Huijben [Mon, 9 Feb 2015 23:20:38 +0000 (9 23:20 +0000)]
Minor argument cleanup inside wc_db private code. No external behaviour changes.

* subversion/libsvn_wc/update_editor.c
  (close_directory): Update caller.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_base_add_directory): Use default argument order for conflicts.
  (svn_wc__db_op_break_move_internal): Move function here to allow calling
    into clear_moved_here() which was identical to the second part of this
    function.
  (op_revert_txn,
   op_revert_recursive_txn): Update caller.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_base_add_directory): Use default argument order for conflicts.

* subversion/libsvn_wc/wc_db_update_move.c
  (svn_wc__db_op_break_move_internal): Remove function here.
  (break_moved_away,
   break_moved_away_children): Update caller.

* subversion/tests/libsvn_wc/db-test.c
  (test_inserting_nodes): Update caller.

* subversion/tests/libsvn_wc/op-depth-test.c
  (base_dir_insert_remove): Update caller.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658602 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/status.c
Bert Huijben [Mon, 9 Feb 2015 22:59:39 +0000 (9 22:59 +0000)]
* subversion/libsvn_wc/status.c
  (includes): Remove several unneeded includes.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658598 13f79535-47bb-0310-9956-ffa450edef68

7 years ago* subversion/libsvn_wc/wc_db.c
Bert Huijben [Mon, 9 Feb 2015 21:29:32 +0000 (9 21:29 +0000)]
* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_scan_moved_to_internal):
    Following up on r1658578, remove stray SVN_DBG().

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1658580 13f79535-47bb-0310-9956-ffa450edef68