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,
+                                                     &copyfrom_url,
+                                                     &copyfrom_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);