You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2010/08/11 00:07:31 UTC
svn commit: r984234 [1/20] - in /subversion/branches/ignore-mergeinfo: ./
build/ build/ac-macros/ build/generator/ notes/ notes/api-errata/
notes/obliterate/ notes/obliterate/fspec-cc1/ notes/rename-tracking/
notes/svnpatch/ notes/tree-conflicts/ notes...
Author: hwright
Date: Tue Aug 10 22:07:24 2010
New Revision: 984234
URL: http://svn.apache.org/viewvc?rev=984234&view=rev
Log:
On the ignore-mergeinfo branch:
Bring up-to-date with trunk@960000, resolving conflicts along the way.
The test failures will be cleaned up in a subsequent commit.
Added:
subversion/branches/ignore-mergeinfo/notes/rename-tracking/
- copied from r960000, subversion/trunk/notes/rename-tracking/
subversion/branches/ignore-mergeinfo/notes/rename-tracking/renames-client-side.txt
- copied unchanged from r960000, subversion/trunk/notes/rename-tracking/renames-client-side.txt
subversion/branches/ignore-mergeinfo/notes/tree-conflicts/all-add-vs-add-tree-conflicts.txt
- copied unchanged from r960000, subversion/trunk/notes/tree-conflicts/all-add-vs-add-tree-conflicts.txt
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/ClientNotifyCallback.cpp
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/ClientNotifyCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/ClientNotifyCallback.h
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/ClientNotifyCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/File.cpp
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/File.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/File.h
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/File.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/PatchCallback.cpp
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/PatchCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/PatchCallback.h
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/PatchCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/ReposNotifyCallback.cpp
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/ReposNotifyCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/ReposNotifyCallback.h
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/native/ReposNotifyCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ClientNotifyInformation.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/ReposNotifyInformation.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ClientNotifyCallback.java
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ClientNotifyCallback.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/PatchCallback.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ReposNotifyCallback.java
- copied unchanged from r960000, subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/ReposNotifyCallback.java
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/notify.c
- copied unchanged from r960000, subversion/trunk/subversion/libsvn_repos/notify.c
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.4.0.tar.bz2
- copied unchanged from r960000, subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.4.0.tar.bz2
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.4.6.tar.bz2
- copied unchanged from r960000, subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.4.6.tar.bz2
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.6.12.tar.bz2
- copied unchanged from r960000, subversion/trunk/subversion/tests/cmdline/upgrade_tests_data/wc-3x-1.6.12.tar.bz2
subversion/branches/ignore-mergeinfo/subversion/tests/manual/
- copied from r960000, subversion/trunk/subversion/tests/manual/
subversion/branches/ignore-mergeinfo/subversion/tests/manual/README
- copied unchanged from r960000, subversion/trunk/subversion/tests/manual/README
subversion/branches/ignore-mergeinfo/subversion/tests/manual/tree-conflicts-add-vs-add.py
- copied unchanged from r960000, subversion/trunk/subversion/tests/manual/tree-conflicts-add-vs-add.py
Removed:
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/NotifyCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/NotifyCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/org_apache_subversion_javahl_Path.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/Info.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/NotifyInformation.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/Path.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/callback/NotifyCallback.java
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/adm_ops.h
Modified:
subversion/branches/ignore-mergeinfo/ (props changed)
subversion/branches/ignore-mergeinfo/CHANGES
subversion/branches/ignore-mergeinfo/COMMITTERS
subversion/branches/ignore-mergeinfo/INSTALL
subversion/branches/ignore-mergeinfo/build.conf
subversion/branches/ignore-mergeinfo/build/ac-macros/sqlite.m4
subversion/branches/ignore-mergeinfo/build/generator/gen_win.py
subversion/branches/ignore-mergeinfo/build/run_tests.py
subversion/branches/ignore-mergeinfo/build/transform_libtool_scripts.sh
subversion/branches/ignore-mergeinfo/build/transform_sql.py
subversion/branches/ignore-mergeinfo/notes/api-errata/wc007.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/obliterate/comparison.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/obliterate/fspec-cc1/cc1-fspec.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/obliterate/high-level-design.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/obliterate/req-spec.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/repos-dictated-config
subversion/branches/ignore-mergeinfo/notes/svnpatch/svnpatch-git.txt (props changed)
subversion/branches/ignore-mergeinfo/notes/wc-ng/conflict-storage
subversion/branches/ignore-mergeinfo/notes/wc-ng/copying
subversion/branches/ignore-mergeinfo/notes/wc-ng/design
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNAdmin.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNAdmin.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/SVNClient.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/StatusCallback.h
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNAdmin.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNAdmin.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNClient.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNAdmin.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NotifyInformation.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/Path.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNAdminTests.java
subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/tests/org/apache/subversion/javahl/SVNTests.java
subversion/branches/ignore-mergeinfo/subversion/bindings/swig/python/tests/wc.py
subversion/branches/ignore-mergeinfo/subversion/bindings/swig/ruby/svn/core.rb
subversion/branches/ignore-mergeinfo/subversion/bindings/swig/ruby/test/test_wc.rb
subversion/branches/ignore-mergeinfo/subversion/include/private/svn_wc_private.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_client.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_config.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_diff.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_dirent_uri.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_error_codes.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_fs.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_io.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_opt.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_ra.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_repos.h
subversion/branches/ignore-mergeinfo/subversion/include/svn_wc.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/add.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/blame.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/client.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/commit.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/commit_util.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/copy.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/delete.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/deprecated.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/diff.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/export.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/externals.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/info.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/list.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/locking_commands.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/merge.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/patch.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/ra.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/status.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/update.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_client/url.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_delta/path_driver.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_delta/text_delta.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_diff/parse-diff.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs/fs-loader.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs/fs-loader.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/bdb/locks-table.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/bdb/locks-table.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/dag.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/lock.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/lock.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/revs-txns.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_base/revs-txns.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_fs/fs_fs.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_fs/lock.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_fs/lock.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_fs/structure
subversion/branches/ignore-mergeinfo/subversion/libsvn_fs_util/fs-util.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra/ra_loader.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra/ra_loader.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_local/ra_plugin.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_local/split_url.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_neon/get_locks.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_neon/ra_neon.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_neon/session.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/blame.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/getlocations.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/getlocationsegments.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/getlocks.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/locks.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/log.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/mergeinfo.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/ra_serf.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/update.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_serf/util.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_svn/client.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_ra_svn/protocol
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/deprecated.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/dump.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/fs-wrap.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/load.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_repos/repos.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/config_file.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/deprecated.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/dirent_uri.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/io.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/opt.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_subr/win32_crashrpt.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/adm_crawler.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/adm_files.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/adm_files.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/adm_ops.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/copy.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/crop.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/deprecated.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/diff.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/entries.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/entries.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/lock.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/log.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/log.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/merge.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/node.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/old-and-busted.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/props.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/relocate.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/status.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/tree_conflicts.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/update_editor.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/upgrade.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/util.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc-metadata.sql
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc-queries.sql
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc_db.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc_db.h
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/wc_db_pdh.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/workqueue.c
subversion/branches/ignore-mergeinfo/subversion/libsvn_wc/workqueue.h
subversion/branches/ignore-mergeinfo/subversion/mod_dav_svn/reports/get-locks.c
subversion/branches/ignore-mergeinfo/subversion/mod_dav_svn/repos.c
subversion/branches/ignore-mergeinfo/subversion/svn/add-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/blame-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/changelist-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/cl.h
subversion/branches/ignore-mergeinfo/subversion/svn/cleanup-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/commit-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/copy-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/delete-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/diff-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/lock-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/log-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/main.c
subversion/branches/ignore-mergeinfo/subversion/svn/merge-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/mkdir-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/move-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/notify.c
subversion/branches/ignore-mergeinfo/subversion/svn/patch-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/propdel-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/propedit-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/propset-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/resolve-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/resolved-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/revert-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/status-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/status.c
subversion/branches/ignore-mergeinfo/subversion/svn/unlock-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/update-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/upgrade-cmd.c
subversion/branches/ignore-mergeinfo/subversion/svn/util.c
subversion/branches/ignore-mergeinfo/subversion/svnadmin/main.c
subversion/branches/ignore-mergeinfo/subversion/svnserve/serve.c
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/authz_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/basic_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/changelist_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/checkout_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/copy_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/depth_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/diff_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/merge_reintegrate_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/merge_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/prop_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/revert_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svnlook_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/__init__.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/actions.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/factory.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/main.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/sandbox.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/testcase.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/svntest/wc.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/switch_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/tree_conflict_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/update_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/cmdline/upgrade_tests.py
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_client/client-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_diff/parse-diff-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_fs/fs-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_fs_fs/fs-pack-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_ra_local/ra-local-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_subr/dirent_uri-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_wc/db-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/libsvn_wc/pristine-store-test.c
subversion/branches/ignore-mergeinfo/subversion/tests/svn_test_fs.c
subversion/branches/ignore-mergeinfo/subversion/tests/svn_test_fs.h
subversion/branches/ignore-mergeinfo/subversion/tests/svn_test_main.c
subversion/branches/ignore-mergeinfo/tools/backup/hot-backup.py.in
subversion/branches/ignore-mergeinfo/tools/dev/unix-build/Makefile.svn
Propchange: subversion/branches/ignore-mergeinfo/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Aug 10 22:07:24 2010
@@ -34,4 +34,4 @@
/subversion/branches/tc_url_rev:874351-874483
/subversion/branches/tree-conflicts:868291-873154
/subversion/branches/tree-conflicts-notify:873926-874008
-/subversion/trunk:873097-950000
+/subversion/trunk:873097-960000
Modified: subversion/branches/ignore-mergeinfo/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/CHANGES?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/CHANGES (original)
+++ subversion/branches/ignore-mergeinfo/CHANGES Tue Aug 10 22:07:24 2010
@@ -1,3 +1,27 @@
+Version 1.6.12
+(21 Jun 2010, from /branches/1.6.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.6.12
+
+ User-visible changes:
+ * further improvements for issue #3242
+ * allow deletion of uris which need character escaping (issue #3636)
+ * fix errors with 'svn mkdir --parents' (issue #3649)
+ * update address to which crash reports are sent (r901304)
+ * check for server certificate revocation on Windows (r898048)
+ * disable custom file mutexes on Windows (r879902, -16)
+ * fix handling of peg revision'd copy targets (issue #3651)
+ * more improvements to 'svn merge --reintegrate' (r935631)
+ * allow copying of broken symlinks (issue #3303)
+ * improve rep-sharing performance on high-concurrency repos (issue #3506)
+ * fixed: added subtrees with mergeinfo break reintegrate (issue #3654)
+ * fixed: assertion triggered by tree-conflicted externals (issue #3469)
+
+ Developer-visible changes:
+ * give windows devs more flexibility with sqlite versions (r944635)
+ * allow the pack tests to work with low file descriptor limits (r937610)
+ * improve exception handling on Windows Vista and 7 (r878447, -910, -916)
+
+
Version 1.6.11
(19 Apr 2010, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.11
@@ -12,7 +36,7 @@ http://svn.apache.org/repos/asf/subversi
* make 'svnadmin hotcopy' copy the fsfs config file (r905303)
* mergeinfo improvements with non-inheritable mergeinfo (issue #3573)
* make mergeinfo queries not require access to the repo root (issue #3242)
- * update URLs to refer the the new apache.org repository (r904301, -94)
+ * update URLs to refer the new apache.org repository (r904301, -94)
* update relative externals during a switch (issue #3390)
* fix 'merge --reintegrate' with self-referential mergeinfo (r892050, -85)
* improve wc-ng working copy detection (r929382)
Modified: subversion/branches/ignore-mergeinfo/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/COMMITTERS?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/COMMITTERS [UTF-8] (original)
+++ subversion/branches/ignore-mergeinfo/COMMITTERS [UTF-8] Tue Aug 10 22:07:24 2010
@@ -48,7 +48,7 @@ Blanket commit access:
kou Kouhei Sutou <ko...@cozmixng.org>
danielsh Daniel Shahaf <d....@daniel.shahaf.name>
peters Peter Samuelson <pe...@p12n.org>
- rhuijben Bert Huijben <b....@competence.biz>
+ rhuijben Bert Huijben <rh...@collab.net>
stylesen Senthil Kumaran S <se...@collab.net>
steveking Stefan Küng <to...@gmail.com>
neels Neels J. Hofmeyr <ne...@elego.de>
Modified: subversion/branches/ignore-mergeinfo/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/INSTALL?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/INSTALL (original)
+++ subversion/branches/ignore-mergeinfo/INSTALL Tue Aug 10 22:07:24 2010
@@ -450,7 +450,7 @@ I. INTRODUCTION
If the Simple Authentication and Security Layer (SASL) library
is detected on your system, then the Subversion client and
- svnserve server can utilize its abliities for various form of
+ svnserve server can utilize its abilities for various form of
authentication. To learn more about SASL or to get the source
code, visit:
Modified: subversion/branches/ignore-mergeinfo/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build.conf?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build.conf (original)
+++ subversion/branches/ignore-mergeinfo/build.conf Tue Aug 10 22:07:24 2010
@@ -272,7 +272,7 @@ msvc-static = yes
type = ra-module
path = subversion/libsvn_ra_serf
install = serf-lib
-libs = libsvn_delta libsvn_subr aprutil apriconv apr serf gssapi
+libs = libsvn_delta libsvn_subr aprutil apriconv apr serf gssapi xml
msvc-libs = secur32.lib
msvc-static = yes
@@ -881,7 +881,7 @@ type = exe
path = subversion/tests/libsvn_client
sources = client-test.c
install = test
-libs = libsvn_test libsvn_client libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr neon
+libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr neon
# ----------------------------------------------------------------------------
# Tests for libsvn_diff
Modified: subversion/branches/ignore-mergeinfo/build/ac-macros/sqlite.m4
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build/ac-macros/sqlite.m4?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build/ac-macros/sqlite.m4 (original)
+++ subversion/branches/ignore-mergeinfo/build/ac-macros/sqlite.m4 Tue Aug 10 22:07:24 2010
@@ -190,6 +190,7 @@ SQLITE_VERSION_OKAY
AC_DEFINE(SVN_SQLITE_INLINE, 1,
[Defined if svn should use the amalgamated version of sqlite])
SVN_SQLITE_INCLUDES="-I`dirname $sqlite_amalg`"
+ SVN_SQLITE_LIBS="-ldl -lpthread"
svn_lib_sqlite="yes"],
[AC_MSG_RESULT([unsupported amalgamation SQLite version])])
fi
Modified: subversion/branches/ignore-mergeinfo/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build/generator/gen_win.py?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build/generator/gen_win.py (original)
+++ subversion/branches/ignore-mergeinfo/build/generator/gen_win.py Tue Aug 10 22:07:24 2010
@@ -248,9 +248,6 @@ class WinGeneratorBase(GeneratorBase):
self._find_apr()
self._find_apr_util()
- # Create Sqlite headers
- self._create_sqlite_headers()
-
# Find Sqlite
self._find_sqlite()
@@ -1151,10 +1148,12 @@ class WinGeneratorBase(GeneratorBase):
self.move_proj_file(self.serf_path, name,
(('serf_sources',
glob.glob(os.path.join(serf_path, '*.c'))
+ + glob.glob(os.path.join(serf_path, 'auth', '*.c'))
+ glob.glob(os.path.join(serf_path, 'buckets',
'*.c'))),
('serf_headers',
glob.glob(os.path.join(serf_path, '*.h'))
+ + glob.glob(os.path.join(serf_path, 'auth', '*.h'))
+ glob.glob(os.path.join(serf_path, 'buckets',
'*.h'))),
('zlib_path', self.zlib_path
@@ -1522,20 +1521,6 @@ class WinGeneratorBase(GeneratorBase):
else:
print(msg % self.sqlite_version)
- def _create_sqlite_headers(self):
- "Transform sql files into header files"
-
- import transform_sql
- sql_sources = [
- os.path.join('subversion', 'libsvn_fs_fs', 'rep-cache-db'),
- os.path.join('subversion', 'libsvn_fs_fs', 'revprops-db'),
- os.path.join('subversion', 'libsvn_wc', 'wc-metadata'),
- os.path.join('subversion', 'libsvn_wc', 'wc-checks'),
- ]
- for sql in sql_sources:
- transform_sql.main(sql + '.sql', open(sql + '.h', 'w'))
-
-
class ProjectItem:
"A generic item class for holding sources info, config info, etc for a project"
def __init__(self, **kw):
Modified: subversion/branches/ignore-mergeinfo/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build/run_tests.py?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build/run_tests.py (original)
+++ subversion/branches/ignore-mergeinfo/build/run_tests.py Tue Aug 10 22:07:24 2010
@@ -41,7 +41,10 @@ and filename of a test program, optional
separated list of test numbers; the default is to run all the tests in it.
'''
-import os, sys
+# A few useful constants
+LINE_LENGTH = 40
+
+import os, sys, subprocess
from datetime import datetime
import getopt
@@ -215,12 +218,6 @@ class TestHarness:
def _run_test(self, prog, test_nr, total_tests):
"Run a single test. Return the test's exit code."
- def quote(arg):
- if sys.platform == 'win32':
- return '"' + arg + '"'
- else:
- return arg
-
if self.log:
log = self.log
else:
@@ -235,7 +232,8 @@ class TestHarness:
# Using write here because we don't want even a trailing space
test_info = '%s [%d/%d]' % (progbase, test_nr + 1, total_tests)
sys.stdout.write('Running tests in %s' % (test_info, ))
- sys.stdout.write('.'*(40 - len(test_info)))
+ sys.stdout.write('.'*(LINE_LENGTH - len(test_info)))
+ sys.stdout.flush()
log.write('START: %s\n' % progbase)
log.flush()
@@ -243,22 +241,23 @@ class TestHarness:
start_time = datetime.now()
if progbase[-3:] == '.py':
progname = sys.executable
- cmdline = [quote(progname),
- quote(os.path.join(self.srcdir, prog))]
+ cmdline = [progname,
+ os.path.join(self.srcdir, prog)]
if self.base_url is not None:
- cmdline.append(quote('--url=' + self.base_url))
+ cmdline.append('--url=' + self.base_url)
if self.enable_sasl is not None:
cmdline.append('--enable-sasl')
if self.parallel is not None:
cmdline.append('--parallel')
if self.config_file is not None:
- cmdline.append(quote('--config-file=' + self.config_file))
+ cmdline.append('--config-file=' + self.config_file)
elif os.access(prog, os.X_OK):
progname = './' + progbase
- cmdline = [quote(progname),
- quote('--srcdir=' + os.path.join(self.srcdir, progdir))]
+ cmdline = [progname,
+ '--srcdir=' + os.path.join(self.srcdir, progdir)]
if self.config_file is not None:
- cmdline.append(quote('--config-file=' + self.config_file))
+ cmdline.append('--config-file=' + self.config_file)
+ cmdline.append('--trap-assertion-failures')
else:
print('Don\'t know what to do about ' + progbase)
sys.exit(1)
@@ -268,15 +267,15 @@ class TestHarness:
if self.cleanup is not None:
cmdline.append('--cleanup')
if self.fs_type is not None:
- cmdline.append(quote('--fs-type=' + self.fs_type))
+ cmdline.append('--fs-type=' + self.fs_type)
if self.http_library is not None:
- cmdline.append(quote('--http-library=' + self.http_library))
+ cmdline.append('--http-library=' + self.http_library)
if self.server_minor_version is not None:
- cmdline.append(quote('--server-minor-version=' + self.server_minor_version))
+ cmdline.append('--server-minor-version=' + self.server_minor_version)
if self.list_tests is not None:
cmdline.append('--list')
if self.svn_bin is not None:
- cmdline.append(quote('--bin=' + self.svn_bin))
+ cmdline.append('--bin=' + self.svn_bin)
if self.fsfs_sharding is not None:
cmdline.append('--fsfs-sharding=%d' % self.fsfs_sharding)
if self.fsfs_packing is not None:
@@ -326,31 +325,9 @@ class TestHarness:
'''Execute the file PROGNAME in a subprocess, with ARGLIST as its
arguments (a list/tuple of arg0..argN), redirecting standard output and
error to the log file. Return the command's exit code.'''
- def restore_streams(stdout, stderr):
- os.dup2(stdout, 1)
- os.dup2(stderr, 2)
- os.close(stdout)
- os.close(stderr)
-
- if self.log:
- sys.stdout.flush()
- sys.stderr.flush()
- self.log.flush()
- old_stdout = os.dup(1)
- old_stderr = os.dup(2)
- try:
- if self.log:
- os.dup2(self.log.fileno(), 1)
- os.dup2(self.log.fileno(), 2)
- rv = os.spawnv(os.P_WAIT, progname, arglist)
- except:
- if self.log:
- restore_streams(old_stdout, old_stderr)
- raise
- else:
- if self.log:
- restore_streams(old_stdout, old_stderr)
- return rv
+ prog = subprocess.Popen(arglist, stdout=self.log, stderr=self.log)
+ prog.wait()
+ return prog.returncode
def main():
Modified: subversion/branches/ignore-mergeinfo/build/transform_libtool_scripts.sh
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build/transform_libtool_scripts.sh?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build/transform_libtool_scripts.sh (original)
+++ subversion/branches/ignore-mergeinfo/build/transform_libtool_scripts.sh Tue Aug 10 22:07:24 2010
@@ -102,6 +102,7 @@ $2" "$3" > "$3.new"
current_directory="$(pwd)"
for libtool_script in $executables $tests; do
eval "libtool_script_path=\$${libtool_script}_path"
+ libtool_script_libraries=""
if [ -f "$libtool_script_path" ]; then
if { grep LD_LIBRARY_PATH "$libtool_script_path" && ! grep LD_PRELOAD "$libtool_script_path"; } > /dev/null; then
echo "Transforming $libtool_script_path"
Modified: subversion/branches/ignore-mergeinfo/build/transform_sql.py
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/build/transform_sql.py?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/build/transform_sql.py (original)
+++ subversion/branches/ignore-mergeinfo/build/transform_sql.py Tue Aug 10 22:07:24 2010
@@ -51,6 +51,36 @@ class Processor(object):
re_format = re.compile('-- *format: *([0-9]+)')
re_statement = re.compile('-- *STMT_([A-Z_0-9]+)')
re_include = re.compile('-- *include: *([-a-z]+)')
+ re_define = re.compile('-- *define: *([A-Z_0-9]+)')
+
+ def _sub_format(self, match):
+ vsn = match.group(1)
+
+ self.close_define()
+ self.output.write('#define %s_%s \\\n' % (self.var_name, match.group(1)))
+ self.var_printed = True
+
+ def _sub_statement(self, match):
+ name = match.group(1)
+
+ self.close_define()
+ self.output.write('#define STMT_%s %d\n' % (match.group(1),
+ self.stmt_count))
+ self.output.write('#define STMT_%d \\\n' % (self.stmt_count,))
+ self.var_printed = True
+
+ self.stmt_count += 1
+
+ def _sub_include(self, match):
+ filepath = os.path.join(self.dirpath, match.group(1) + '.sql')
+
+ self.close_define()
+ self.process_file(open(filepath).read())
+
+ def _sub_define(self, match):
+ define = match.group(1)
+
+ self.output.write(' APR_STRINGIFY(%s) \\\n' % define)
def __init__(self, dirpath, output, var_name):
self.dirpath = dirpath
@@ -60,6 +90,13 @@ class Processor(object):
self.stmt_count = 0
self.var_printed = False
+ self._directives = {
+ self.re_format : self._sub_format,
+ self.re_statement : self._sub_statement,
+ self.re_include : self._sub_include,
+ self.re_define : self._sub_define,
+ }
+
def process_file(self, input):
input = self.re_comments.sub('', input)
@@ -67,41 +104,17 @@ class Processor(object):
line = line.replace('"', '\\"')
if line.strip():
- match = self.re_format.match(line)
- if match:
- vsn = match.group(1)
-
- self.close_define()
- self.output.write('#define %s_%s \\\n' % (self.var_name,
- match.group(1)))
- self.var_printed = True
-
- # no need to put the directive into the file. skip this line.
- continue
-
- match = self.re_statement.match(line)
- if match:
- name = match.group(1)
-
- self.close_define()
- self.output.write('#define STMT_%s %d\n' % (match.group(1),
- self.stmt_count))
- self.output.write('#define STMT_%d \\\n' % (self.stmt_count,))
- self.var_printed = True
-
- self.stmt_count += 1
-
- # no need to put the directive into the file. skip this line.
- continue
-
- match = self.re_include.match(line)
- if match:
- filepath = os.path.join(self.dirpath, match.group(1) + '.sql')
+ handled = False
- self.close_define()
- self.process_file(open(filepath).read())
+ for regex, handler in self._directives.iteritems():
+ match = regex.match(line)
+ if match:
+ handler(match)
+ handled = True
+ break
- # no need to put the directive into the file. skip this line.
+ # we've handed the line, so skip it
+ if handled:
continue
if not self.var_printed:
Propchange: subversion/branches/ignore-mergeinfo/notes/api-errata/wc007.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/branches/ignore-mergeinfo/notes/obliterate/comparison.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/branches/ignore-mergeinfo/notes/obliterate/fspec-cc1/cc1-fspec.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/branches/ignore-mergeinfo/notes/obliterate/high-level-design.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: subversion/branches/ignore-mergeinfo/notes/obliterate/req-spec.txt
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/ignore-mergeinfo/notes/repos-dictated-config
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/notes/repos-dictated-config?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/notes/repos-dictated-config (original)
+++ subversion/branches/ignore-mergeinfo/notes/repos-dictated-config Tue Aug 10 22:07:24 2010
@@ -33,7 +33,10 @@ with a configuration of their own, so ap
Server-client transmission mechanism
====================================
-[TODO]
+As part of the OPTIONS request, the client will send to the server the
+sha1 hash of the version of the server-dictated config that it current has
+cached. If the server has a different version, it will send that to the
+client in the OPTIONS response.
Server-side storage
@@ -43,4 +46,13 @@ Server-side storage
Client-side storage
===================
+The client current maintains a global configuration file in
+~/.subversion/config This feature will introduce the ~/.subversion/repos/
+directory, which will hold additional subdirectories keyed on the UUID of the
+repository. It is in this subdirectory that the cached version of the
+repository configuration will be stored.
+
+
+Configuration Hierarchy
+=======================
[TODO]
Propchange: subversion/branches/ignore-mergeinfo/notes/svnpatch/svnpatch-git.txt
------------------------------------------------------------------------------
svn:eol-style = native
Modified: subversion/branches/ignore-mergeinfo/notes/wc-ng/conflict-storage
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/notes/wc-ng/conflict-storage?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/notes/wc-ng/conflict-storage (original)
+++ subversion/branches/ignore-mergeinfo/notes/wc-ng/conflict-storage Tue Aug 10 22:07:24 2010
@@ -18,9 +18,9 @@ detailed below.
KIND indicates the kind of conflict description that follows and is one
of:
- "text" - meaning a "normal" text conflict of the whole node (which must be a
- file), with left/right/mine full texts saved, and (unless it's
- "binary") conflict markers in the working text;
+ "text" - meaning a text conflict of the whole text of the node (which
+ must be a file), with left/right/mine full texts saved, and (unless
+ it's "binary") conflict markers in the working text;
"prop" - meaning a "normal" property conflict, with left/right/mine full
values saved;
"tree" - meaning a tree conflict;
Modified: subversion/branches/ignore-mergeinfo/notes/wc-ng/copying
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/notes/wc-ng/copying?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/notes/wc-ng/copying (original)
+++ subversion/branches/ignore-mergeinfo/notes/wc-ng/copying Tue Aug 10 22:07:24 2010
@@ -42,8 +42,6 @@ changes have to be made in the repositor
A /X (from S@N) R /X/T (from G@M)
/S@N not-present A /X (from /S@N) D /X/T
- or
- absent
/S@N excluded A /X (from S@N)
@@ -77,10 +75,10 @@ in issue 3314). We will probably have t
WC-NG as there is not enough information in the source to determine
whether or not the child also exists in the parent's revision.
-Child nodes not-present or absent in the source become not-present
-working nodes in the copy, this ensures that they get deleted by the
-commit. We might want to use a new not-copied state instead, since
-these deletes cannot be reverted.
+Child nodes not-present in the source become not-present working nodes
+in the copy, this ensures that they get deleted by the commit. We
+might want to use a new not-copied state instead, since these deletes
+cannot be reverted.
Child nodes that are excluded in the source can remain excluded in the
copy.
@@ -94,6 +92,11 @@ incomplete node. Could "svn up" retriev
make them complete? The commit processing would probably choose not
to allow incomplete directories.
+Child nodes that are absent in the source cannot be copied and
+committed. During the commit the copy of the parent will fail with an
+authz error since Subversion requires read access to the whole tree
+being copied.
+
--
URL-to-wc copy is equivalent to a single revision wc-to-wc copy.
Modified: subversion/branches/ignore-mergeinfo/notes/wc-ng/design
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/notes/wc-ng/design?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/notes/wc-ng/design (original)
+++ subversion/branches/ignore-mergeinfo/notes/wc-ng/design Tue Aug 10 22:07:24 2010
@@ -10,17 +10,24 @@ Content
* Open items / discussion points
* Problems in wc-1.0
* Possible solutions
+ - Developer sanity
+ - Speed
+ - Cross node type change representation
+ - Flexibility of metadata storage
+ - Transaction duration / memory management
+ - Working copy stability
+ - Transactional updates
+ - Work queue
* Prerequisites for a good wc implementation
* Modularization
* Implementation proposals for
- - metadata storage/access abstraction
- - BASE tree storage/access abstraction
- - WORKING tree storage/access abstraction
- - TARGET & MERGE-END tree storage/access abstraction
- - transactional manipulation API proposal
- - delta-application algorithm
- (in light of metadata, tree and textual conflicts)
- -
+ - Mapping of svn_wc_entry_t fields to BASE/WORKING
+ - Basic storage mechanics
+ - Metadata schemas
+ - Commit process
+ - Random notes
+ - Code organization
+ - svn_wc.h API
* Upgrading old working copies
* Implementation plan
@@ -50,89 +57,48 @@ things come to mind:
is a cross platform tool and tries to behave the same on all
filesystems (timestamp resolution may be an example of this).
-When considering the wc-1.0 design, one finds that there are a lot
-of situations where the exact state of the versioned tree isn't
-defined. When explicitly considering which trees relate to the
-working copy at one time or another, the following trees can be
-found:
-
- ###
- ### WARNING: the following descriptions don't correspond to either
- ### the WC-NG DB concepts or the command-line user concepts.
- ###
-
- * BASE: The tree of nodes from the repository, against which local changes
- are made. Also known as "pristine". Each node is as it was in the
- repository at a particular revision and URL, as recorded per node in
- the WC metadata. A directory node in the BASE tree knows something
- about the children it had in the repository (### details?), but its set
- of children in the WC is independent of that. In a node or tree
- scheduled for replacement the BASE is the pristine version of the
- to-be-added node or tree, not of the deleted one. For a node that is
- scheduled for add without history, there is no BASE node.
-
- * WORKING: The tree that represent's the user's view of the WC with their
- local modifications (assuming the user told Subversion about these
- modifications with "svn add" etc. as required). In implementation, the
- WORKING tree has the structure and properties recorded in the WC, and
- the file content present on the local disk. (If a file cannot be
- accessed because the tree structure on the local disk is incompatible,
- this is an error, known as an "obstruction".)
-
- * ACTUAL: The tree on the local disk, ignoring Subversion
- administrative directories and other nodes that Subversion has
- knowingly put there such as conflict reject files, and regarding
- every node as having no Subversion properties.
-
- (Variations to consider: Construct properties such as
- svn:executable, svn:special, and any svn: time-stamp properties
- from the operating system meta-data. Construct properties from
- auto-props. Exclude nodes that the operating system says are
- hidden.)
-
-In the context of the 'svn update' command:
-
- * BASE-TARGET: The tree to which BASE is being updated and for
- which the changes w.r.t. BASE are integrated into
- WORKING and ACTUAL
-
- * WORKING-TARGET, ACTUAL-TARGET: Trees in which the above mentioned
- changes have been integrated, but which haven't "gone live" yet;
- these trees generally represent "in transition" or "intermediary"
- state with the intent to become the final tree.
-
-Additionally, two more trees may be related to the working copy
-when considering the 'svn merge' command:
-
- * START: The tree used as the base state for the 'merge' command
-
- * END: The tree used as the ending state for the 'merge' command
- The difference between these trees will be merged into the
- WORKING and ACTUAL trees.
-
-In the following example 10 == START and 15 == END:
- $ svn merge -r10:15 http://svn.example.com/svn/ .
-
-Please note that the WORKING-TARGET and ACTUAL-TARGET trees also
-apply to 'svn merge' as they can result in 'add with history' schedules,
-which will place text bases in the WORKING-TARGET tree. Also note
-that -since merge is by definition an 'edit' operation- the BASE and
-BASE-TARGET trees are not concerned with a merge.
-
-###EHU: To which trees do BASE and TARGET refer when we're in a subdir
-of a replaced tree? And which trees do they refer to in a subdir of
-a replaced tree which itself is replaced? (Preliminary answer: the
-base in a replaced subdir should probably be the base as defined by
-the parent which got copied in, not the base as was deleted, because
-otherwise it won't be possible to delete files from the replaced subdir:
-there would be no way to express a deletion against the new dir.)
-
-A tree can be said to have its files in repository-normal format or
-working-copy format; the difference relates to line endings and keyword
-expansion, as defined elsewhere. A BASE tree presents itself in
-repository-normal format by default and can be converted to working-copy
-format. A WORKING or ACTUAL tree presents itself in working-copy format by
-default and can be converted to repository-normal format.
+When considering the wc-1.0 design, one finds that there are a lot of
+situations where the state of the versioned tree is poorly defined.
+To clarify the tree state, the wc-ng design splits it into several
+pieces. A versioned item in the working copy is described by one or
+more nodes in the following schema.
+
+ * BASE: Nodes describing repository data in the WC.
+
+ Each BASE node corresponds to a particular repository URL and
+ revision. Mixed-revision working copies are still common.
+ Pristine file content is kept in the content store.
+
+ * WORKING: Nodes describing structural changes to BASE.
+
+ An item in the WC may have a BASE node, a WORKING node, or both.
+ The WORKING-only case arises when an item is added, copied-here,
+ or moved-here on a path that doesn't exist in BASE.
+
+ * NODE_DATA: Nodes describing layered structural changes to WORKING.
+
+ An example: suppose a directory is replaced, a directory is
+ copied into it, and a file is added to the subdirectory. BASE
+ and WORKING describe the replacement, NODE_DATA describes the
+ copied subdirectory, and NODE_DATA (again) describes the added
+ file.
+
+ * ACTUAL: Nodes describing content modifications and annotations.
+
+ An ACTUAL node contains one or more of the following:
+
+ - Text-modified flag (for a file)
+ - Properties
+ - Changelist name
+ - Conflict metadata
+
+ The text-modified flag may be out of sync with the file's real
+ status. The other data is set directly by Subversion operations.
+
+ Some tree conflicts lead to ACTUAL nodes that don't exist in the
+ working copy (e.g., when a merge tries to edit a file that
+ doesn't exist). These have no corresponding BASE, WORKING or
+ NODE_DATA nodes.
##BHB: For tree, text and property conflicts it would be nice to handle
MINE, THEIRS (and OLDER?) as semi-trees too. See this mail thread
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.cpp?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.cpp Tue Aug 10 22:07:24 2010
@@ -45,8 +45,11 @@ BlameCallback::~BlameCallback()
// in parameter to the Java SVNClient.blame method.
}
+/* implements svn_client_blame_receiver3_t */
svn_error_t *
BlameCallback::callback(void *baton,
+ svn_revnum_t start_revnum,
+ svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -58,7 +61,8 @@ BlameCallback::callback(void *baton,
apr_pool_t *pool)
{
if (baton)
- return ((BlameCallback *)baton)->singleLine(line_no, revision, rev_props,
+ return ((BlameCallback *)baton)->singleLine(start_revnum, end_revnum,
+ line_no, revision, rev_props,
merged_revision,
merged_rev_props, merged_path,
line, local_change, pool);
@@ -71,7 +75,8 @@ BlameCallback::callback(void *baton,
* information was requested. See the Java-doc for more information.
*/
svn_error_t *
-BlameCallback::singleLine(apr_int64_t line_no, svn_revnum_t revision,
+BlameCallback::singleLine(svn_revnum_t start_revnum, svn_revnum_t end_revnum,
+ apr_int64_t line_no, svn_revnum_t revision,
apr_hash_t *revProps, svn_revnum_t mergedRevision,
apr_hash_t *mergedRevProps, const char *mergedPath,
const char *line, svn_boolean_t localChange,
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.h?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/BlameCallback.h Tue Aug 10 22:07:24 2010
@@ -41,6 +41,8 @@ class BlameCallback
~BlameCallback();
static svn_error_t *callback(void *baton,
+ svn_revnum_t start_revnum,
+ svn_revnum_t end_revnum,
apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
@@ -52,7 +54,9 @@ class BlameCallback
apr_pool_t *pool);
protected:
- svn_error_t *singleLine(apr_int64_t line_no,
+ svn_error_t *singleLine(svn_revnum_t start_revnum,
+ svn_revnum_t end_revnum,
+ apr_int64_t line_no,
svn_revnum_t revision,
apr_hash_t *rev_props,
svn_revnum_t merged_revision,
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.cpp?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.cpp Tue Aug 10 22:07:24 2010
@@ -33,6 +33,7 @@
#include "CreateJ.h"
#include "../include/org_apache_subversion_javahl_Revision.h"
+#include "svn_path.h"
#include "private/svn_wc_private.h"
jobject
@@ -175,91 +176,6 @@ CreateJ::ConflictVersion(const svn_wc_co
}
jobject
-CreateJ::Info(const svn_wc_entry_t *entry)
-{
- if (entry == NULL)
- return NULL;
-
- JNIEnv *env = JNIUtil::getEnv();
-
- // Create a local frame for our references
- env->PushLocalFrame(LOCAL_FRAME_SIZE);
- if (JNIUtil::isJavaExceptionThrown())
- return NULL;
-
- jclass clazz = env->FindClass(JAVA_PACKAGE"/Info");
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- static jmethodID mid = 0;
- if (mid == 0)
- {
- mid = env->GetMethodID(clazz, "<init>",
- "(Ljava/lang/String;Ljava/lang/String;"
- "Ljava/lang/String;Ljava/lang/String;"
- "L"JAVA_PACKAGE"/Info2$ScheduleKind;"
- "L"JAVA_PACKAGE"/NodeKind;"
- "Ljava/lang/String;JJLjava/util/Date;"
- "Ljava/util/Date;Ljava/util/Date;"
- "ZZZZJLjava/lang/String;)V");
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- }
-
- jstring jName = JNIUtil::makeJString(entry->name);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jstring jUrl = JNIUtil::makeJString(entry->url);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jstring jUuid = JNIUtil::makeJString(entry->uuid);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jstring jRepository = JNIUtil::makeJString(entry->repos);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jobject jSchedule = EnumMapper::mapScheduleKind(entry->schedule);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jobject jNodeKind = EnumMapper::mapNodeKind(entry->kind);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jstring jAuthor = JNIUtil::makeJString(entry->cmt_author);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jlong jRevision = entry->revision;
- jlong jLastChangedRevision = entry->cmt_rev;
- jobject jLastChangedDate = JNIUtil::createDate(entry->cmt_date);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jobject jLastDateTextUpdate = JNIUtil::createDate(entry->text_time);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jobject jLastDatePropsUpdate = JNIUtil::createDate(entry->prop_time);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
- jboolean jCopied = entry->copied ? JNI_TRUE : JNI_FALSE;
- jboolean jDeleted = entry->deleted ? JNI_TRUE : JNI_FALSE;
- jboolean jAbsent = entry->absent ? JNI_TRUE : JNI_FALSE;
- jboolean jIncomplete = entry->incomplete ? JNI_TRUE : JNI_FALSE;
- jlong jCopyRev = entry->copyfrom_rev;
- jstring jCopyUrl = JNIUtil::makeJString(entry->copyfrom_url);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- jobject jinfo = env->NewObject(clazz, mid, jName, jUrl, jUuid, jRepository,
- jSchedule, jNodeKind, jAuthor, jRevision,
- jLastChangedRevision, jLastChangedDate,
- jLastDateTextUpdate, jLastDatePropsUpdate,
- jCopied, jDeleted, jAbsent, jIncomplete,
- jCopyRev, jCopyUrl);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
-
- return env->PopLocalFrame(jinfo);
-}
-
-jobject
CreateJ::Info2(const char *path, const svn_info_t *info)
{
JNIEnv *env = JNIUtil::getEnv();
@@ -434,7 +350,7 @@ CreateJ::Lock(const svn_lock_t *lock)
jobject
CreateJ::Status(svn_wc_context_t *wc_ctx, const char *local_abspath,
- const svn_wc_status3_t *status, apr_pool_t *pool)
+ const svn_client_status_t *status, apr_pool_t *pool)
{
JNIEnv *env = JNIUtil::getEnv();
@@ -509,7 +425,18 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
jstring jChangelist = NULL;
if (status != NULL)
{
- jTextType = EnumMapper::mapStatusKind(status->text_status);
+ /* ### Calculate the old style text_status value to make
+ ### the tests pass. It is probably better to do this in
+ ### the tigris package and then switch the apache package
+ ### to three statuses. */
+ enum svn_wc_status_kind text_status = status->node_status;
+
+ /* Avoid using values that might come from prop changes */
+ if (text_status == svn_wc_status_modified
+ || text_status == svn_wc_status_conflicted)
+ text_status = status->text_status;
+
+ jTextType = EnumMapper::mapStatusKind(text_status);
jPropType = EnumMapper::mapStatusKind(status->prop_status);
jRepositoryTextType = EnumMapper::mapStatusKind(
status->repos_text_status);
@@ -523,7 +450,6 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
/* Unparse the meaning of the conflicted flag. */
if (status->conflicted)
{
- svn_error_t *err;
svn_boolean_t text_conflicted = FALSE;
svn_boolean_t prop_conflicted = FALSE;
svn_boolean_t tree_conflicted = FALSE;
@@ -550,68 +476,124 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
}
+
+ if (text_conflicted)
+ {
+ /* ### Fetch conflict marker files, still handled via svn_wc_entry_t */
+ }
+
+ if (prop_conflicted)
+ {
+ /* ### Fetch conflict marker file, still handled via svn_wc_entry_t */
+ }
}
jLock = CreateJ::Lock(status->repos_lock);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jUrl = JNIUtil::makeJString(status->url);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
+ if (status->repos_root_url)
+ {
+ jUrl = JNIUtil::makeJString(svn_path_url_add_component2(
+ status->repos_root_url,
+ status->repos_relpath,
+ pool));
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+ }
- jOODLastCmtRevision = status->ood_last_cmt_rev;
- jOODLastCmtDate = status->ood_last_cmt_date;
+ jOODLastCmtRevision = status->ood_changed_rev;
+ jOODLastCmtDate = status->ood_changed_date;
jOODKind = EnumMapper::mapNodeKind(status->ood_kind);
- jOODLastCmtAuthor = JNIUtil::makeJString(status->ood_last_cmt_author);
+ jOODLastCmtAuthor = JNIUtil::makeJString(status->ood_changed_author);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- const svn_wc_entry_t *entry = status->entry;
- if (entry != NULL)
+ if (status->versioned)
{
- jNodeKind = EnumMapper::mapNodeKind(entry->kind);
- jRevision = entry->revision;
- jLastChangedRevision = entry->cmt_rev;
- jLastChangedDate = entry->cmt_date;
- jLastCommitAuthor = JNIUtil::makeJString(entry->cmt_author);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
+ jNodeKind = EnumMapper::mapNodeKind(status->kind);
+ jRevision = status->revision;
+ jLastChangedRevision = status->changed_rev;
+ jLastChangedDate = status->changed_date;
+ jLastCommitAuthor = JNIUtil::makeJString(status->changed_author);
- jConflictNew = JNIUtil::makeJString(entry->conflict_new);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jConflictOld = JNIUtil::makeJString(entry->conflict_old);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
+ if (status->lock)
+ {
+ jLockToken = JNIUtil::makeJString(status->lock->token);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
- jConflictWorking= JNIUtil::makeJString(entry->conflict_wrk);
- if (JNIUtil::isJavaExceptionThrown())
- POP_AND_RETURN_NULL;
+ jLockComment = JNIUtil::makeJString(status->lock->comment);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jLockOwner = JNIUtil::makeJString(status->lock->owner);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jLockCreationDate = status->lock->creation_date;
+ }
- jURLCopiedFrom = JNIUtil::makeJString(entry->copyfrom_url);
+ jChangelist = JNIUtil::makeJString(status->changelist);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
+ }
+
+ if (status->versioned && status->conflicted)
+ {
+ const char *conflict_new, *conflict_old, *conflict_wrk;
+ const char *copyfrom_url;
+ svn_revnum_t copyfrom_rev;
+ svn_boolean_t is_copy_target;
+
+ /* This call returns SVN_ERR_ENTRY_NOT_FOUND for some hidden
+ cases, which we can just ignore here as hidden nodes
+ are not in text or property conflict. */
+ svn_error_t *err = svn_wc__node_get_info_bits(NULL,
+ &conflict_old,
+ &conflict_new,
+ &conflict_wrk,
+ NULL,
+ wc_ctx, local_abspath,
+ pool, pool);
+
+ if (err)
+ {
+ if (err->apr_err == SVN_ERR_ENTRY_NOT_FOUND)
+ svn_error_clear(err);
+ else
+ SVN_JNI_ERR(err, NULL);
+ }
- jRevisionCopiedFrom = entry->copyfrom_rev;
- jLockToken = JNIUtil::makeJString(entry->lock_token);
+ jConflictNew = JNIUtil::makeJString(conflict_new);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jLockComment = JNIUtil::makeJString(entry->lock_comment);
+ jConflictOld = JNIUtil::makeJString(conflict_old);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jLockOwner = JNIUtil::makeJString(entry->lock_owner);
+ jConflictWorking= JNIUtil::makeJString(conflict_wrk);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jLockCreationDate = entry->lock_creation_date;
+ SVN_JNI_ERR(svn_wc__node_get_copyfrom_info(NULL, NULL,
+ ©from_url,
+ ©from_rev,
+ &is_copy_target,
+ wc_ctx, local_abspath,
+ pool, pool), NULL);
- jChangelist = JNIUtil::makeJString(entry->changelist);
+ jURLCopiedFrom = JNIUtil::makeJString(is_copy_target ? copyfrom_url
+ : NULL);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
+
+ jRevisionCopiedFrom = is_copy_target ? copyfrom_rev
+ : SVN_INVALID_REVNUM;
}
}
@@ -632,7 +614,8 @@ CreateJ::Status(svn_wc_context_t *wc_ctx
}
jobject
-CreateJ::NotifyInformation(const svn_wc_notify_t *wcNotify)
+CreateJ::ClientNotifyInformation(const svn_wc_notify_t *wcNotify,
+ apr_pool_t *pool)
{
JNIEnv *env = JNIUtil::getEnv();
@@ -642,7 +625,7 @@ CreateJ::NotifyInformation(const svn_wc_
return NULL;
static jmethodID midCT = 0;
- jclass clazz = env->FindClass(JAVA_PACKAGE"/NotifyInformation");
+ jclass clazz = env->FindClass(JAVA_PACKAGE"/ClientNotifyInformation");
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
@@ -650,16 +633,17 @@ CreateJ::NotifyInformation(const svn_wc_
{
midCT = env->GetMethodID(clazz, "<init>",
"(Ljava/lang/String;"
- "L"JAVA_PACKAGE"/NotifyInformation$Action;"
+ "L"JAVA_PACKAGE"/ClientNotifyInformation$Action;"
"L"JAVA_PACKAGE"/NodeKind;Ljava/lang/String;"
"L"JAVA_PACKAGE"/Lock;"
"Ljava/lang/String;"
- "L"JAVA_PACKAGE"/NotifyInformation$Status;"
- "L"JAVA_PACKAGE"/NotifyInformation$Status;"
- "L"JAVA_PACKAGE"/NotifyInformation$LockStatus;"
+ "L"JAVA_PACKAGE"/ClientNotifyInformation$Status;"
+ "L"JAVA_PACKAGE"/ClientNotifyInformation$Status;"
+ "L"JAVA_PACKAGE"/ClientNotifyInformation$LockStatus;"
"JLjava/lang/String;"
"L"JAVA_PACKAGE"/RevisionRange;"
- "Ljava/lang/String;)V");
+ "Ljava/lang/String;Ljava/lang/String;"
+ "Ljava/util/Map;JJJJJJI)V");
if (JNIUtil::isJavaExceptionThrown() || midCT == 0)
POP_AND_RETURN_NULL;
}
@@ -717,12 +701,92 @@ CreateJ::NotifyInformation(const svn_wc_
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
+ jstring jpropName = JNIUtil::makeJString(wcNotify->prop_name);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jobject jrevProps = CreateJ::PropertyMap(wcNotify->rev_props, pool);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jlong joldRevision = wcNotify->old_revision;
+ jlong jhunkOriginalStart = wcNotify->hunk_original_start;
+ jlong jhunkOriginalLength = wcNotify->hunk_original_length;
+ jlong jhunkModifiedStart = wcNotify->hunk_modified_start;
+ jlong jhunkModifiedLength = wcNotify->hunk_modified_length;
+ jlong jhunkMatchedLine = wcNotify->hunk_matched_line;
+ jint jhunkFuzz = wcNotify->hunk_fuzz;
+
// call the Java method
jobject jInfo = env->NewObject(clazz, midCT, jPath, jAction,
jKind, jMimeType, jLock, jErr,
jContentState, jPropState, jLockState,
(jlong) wcNotify->revision, jChangelistName,
- jMergeRange, jpathPrefix);
+ jMergeRange, jpathPrefix, jpropName,
+ jrevProps, joldRevision,
+ jhunkOriginalStart, jhunkOriginalLength,
+ jhunkModifiedStart, jhunkModifiedLength,
+ jhunkMatchedLine, jhunkFuzz);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ return env->PopLocalFrame(jInfo);
+}
+
+jobject
+CreateJ::ReposNotifyInformation(const svn_repos_notify_t *reposNotify,
+ apr_pool_t *pool)
+{
+ JNIEnv *env = JNIUtil::getEnv();
+
+ // Create a local frame for our references
+ env->PushLocalFrame(LOCAL_FRAME_SIZE);
+ if (JNIUtil::isJavaExceptionThrown())
+ return NULL;
+
+ static jmethodID midCT = 0;
+ jclass clazz = env->FindClass(JAVA_PACKAGE"/ReposNotifyInformation");
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ if (midCT == 0)
+ {
+ midCT = env->GetMethodID(clazz, "<init>",
+ "(L"JAVA_PACKAGE"/ReposNotifyInformation$Action;"
+ "JLjava/lang/String;JJJ"
+ "L"JAVA_PACKAGE"/ReposNotifyInformation$NodeAction;"
+ "Ljava/lang/String;)V");
+ if (JNIUtil::isJavaExceptionThrown() || midCT == 0)
+ POP_AND_RETURN_NULL;
+ }
+
+ // convert the parameters to their Java relatives
+ jobject jAction = EnumMapper::mapReposNotifyAction(reposNotify->action);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jstring jWarning = JNIUtil::makeJString(reposNotify->warning);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jlong jRevision = (jlong)reposNotify->revision;
+ jlong jShard = (jlong)reposNotify->shard;
+ jlong jnewRevision = (jlong)reposNotify->new_revision;
+ jlong joldRevision = (jlong)reposNotify->old_revision;
+
+ jobject jnodeAction = EnumMapper::mapReposNotifyNodeAction(
+ reposNotify->node_action);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ jstring jpath = JNIUtil::makeJString(reposNotify->path);
+ if (JNIUtil::isJavaExceptionThrown())
+ POP_AND_RETURN_NULL;
+
+ // call the Java method
+ jobject jInfo = env->NewObject(clazz, midCT, jAction, jRevision, jWarning,
+ jShard, jnewRevision, joldRevision,
+ jnodeAction, jpath);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
@@ -804,6 +868,9 @@ jobject CreateJ::PropertyMap(apr_hash_t
{
JNIEnv *env = JNIUtil::getEnv();
+ if (prop_hash == NULL)
+ return NULL;
+
// Create a local frame for our references
env->PushLocalFrame(LOCAL_FRAME_SIZE);
if (JNIUtil::isJavaExceptionThrown())
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.h?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/CreateJ.h Tue Aug 10 22:07:24 2010
@@ -29,6 +29,7 @@
#include <jni.h>
#include "svn_wc.h"
+#include "svn_repos.h"
#include "svn_client.h"
#include <vector>
@@ -45,9 +46,6 @@ class CreateJ
ConflictDescriptor(const svn_wc_conflict_description_t *desc);
static jobject
- Info(const svn_wc_entry_t *entry);
-
- static jobject
Info2(const char *path, const svn_info_t *info);
static jobject
@@ -55,10 +53,13 @@ class CreateJ
static jobject
Status(svn_wc_context_t *wc_ctx, const char *local_abspath,
- const svn_wc_status3_t *status, apr_pool_t *pool);
+ const svn_client_status_t *status, apr_pool_t *pool);
+
+ static jobject
+ ClientNotifyInformation(const svn_wc_notify_t *notify, apr_pool_t *pool);
static jobject
- NotifyInformation(const svn_wc_notify_t *notify);
+ ReposNotifyInformation(const svn_repos_notify_t *notify, apr_pool_t *pool);
static jobject
RevisionRangeList(apr_array_header_t *ranges);
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.cpp?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.cpp (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.cpp Tue Aug 10 22:07:24 2010
@@ -64,7 +64,7 @@ jint EnumMapper::mapCommitMessageStateFl
jobject EnumMapper::mapNotifyState(svn_wc_notify_state_t state)
{
// We're assuming a valid value for the C enum above
- return mapEnum(JAVA_PACKAGE"/NotifyInformation$Status", (int) state);
+ return mapEnum(JAVA_PACKAGE"/ClientNotifyInformation$Status", (int) state);
}
/**
@@ -73,7 +73,22 @@ jobject EnumMapper::mapNotifyState(svn_w
jobject EnumMapper::mapNotifyAction(svn_wc_notify_action_t action)
{
// We're assuming a valid value for the C enum above
- return mapEnum(JAVA_PACKAGE"/NotifyInformation$Action", (int) action);
+ return mapEnum(JAVA_PACKAGE"/ClientNotifyInformation$Action", (int) action);
+}
+
+jobject EnumMapper::mapReposNotifyNodeAction(svn_node_action action)
+{
+ // We're assuming a valid value for the C enum above
+ return mapEnum(JAVA_PACKAGE"/ReposNotifyInformation$NodeAction", (int) action);
+}
+
+/**
+ * Map a C repos notify action constant to the Java constant.
+ */
+jobject EnumMapper::mapReposNotifyAction(svn_repos_notify_action_t action)
+{
+ // We're assuming a valid value for the C enum above
+ return mapEnum(JAVA_PACKAGE"/ReposNotifyInformation$Action", (int) action);
}
/**
@@ -91,7 +106,7 @@ jobject EnumMapper::mapNodeKind(svn_node
jobject EnumMapper::mapNotifyLockState(svn_wc_notify_lock_state_t state)
{
// We're assuming a valid value for the C enum above
- return mapEnum(JAVA_PACKAGE"/NotifyInformation$LockStatus", (int) state);
+ return mapEnum(JAVA_PACKAGE"/ClientNotifyInformation$LockStatus", (int) state);
}
/**
Modified: subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.h?rev=984234&r1=984233&r2=984234&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.h (original)
+++ subversion/branches/ignore-mergeinfo/subversion/bindings/javahl/native/EnumMapper.h Tue Aug 10 22:07:24 2010
@@ -30,6 +30,7 @@
#include <jni.h>
#include "svn_client.h"
#include "svn_wc.h"
+#include "svn_repos.h"
#include "svn_types.h"
class JNIStringHolder;
@@ -52,6 +53,8 @@ class EnumMapper
static jint mapCommitMessageStateFlags(apr_byte_t flags);
static jobject mapNotifyState(svn_wc_notify_state_t state);
static jobject mapNotifyAction(svn_wc_notify_action_t action);
+ static jobject mapReposNotifyNodeAction(svn_node_action action);
+ static jobject mapReposNotifyAction(svn_repos_notify_action_t action);
static jobject mapNodeKind(svn_node_kind_t nodeKind);
static jobject mapNotifyLockState(svn_wc_notify_lock_state_t state);
static jobject mapStatusKind(svn_wc_status_kind svnKind);