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 2012/04/03 15:32:54 UTC

svn commit: r1308894 [1/14] - in /subversion/branches/ev2-export: ./ build/ build/ac-macros/ build/generator/ build/generator/templates/ notes/ notes/directory-index/ notes/wc-ng/ subversion/bindings/javahl/ subversion/bindings/swig/perl/native/t/ subv...

Author: hwright
Date: Tue Apr  3 13:32:48 2012
New Revision: 1308894

URL: http://svn.apache.org/viewvc?rev=1308894&view=rev
Log:
On the ev2-export branch:
Bring up-to-date with trunk.

Added:
    subversion/branches/ev2-export/notes/directory-index/
      - copied from r1308886, subversion/trunk/notes/directory-index/
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/sb_bucket.c
      - copied unchanged from r1308886, subversion/trunk/subversion/libsvn_ra_serf/sb_bucket.c
    subversion/branches/ev2-export/subversion/libsvn_subr/crypto.c
      - copied unchanged from r1308886, subversion/trunk/subversion/libsvn_subr/crypto.c
    subversion/branches/ev2-export/subversion/libsvn_subr/crypto.h
      - copied unchanged from r1308886, subversion/trunk/subversion/libsvn_subr/crypto.h
    subversion/branches/ev2-export/subversion/tests/libsvn_subr/crypto-test.c
      - copied unchanged from r1308886, subversion/trunk/subversion/tests/libsvn_subr/crypto-test.c
    subversion/branches/ev2-export/tools/dev/aprerr.txt
      - copied unchanged from r1308886, subversion/trunk/tools/dev/aprerr.txt
    subversion/branches/ev2-export/tools/dist/make-deps-tarball.sh   (props changed)
      - copied unchanged from r1308886, subversion/trunk/tools/dist/make-deps-tarball.sh
    subversion/branches/ev2-export/tools/server-side/svnpubsub/daemonize.py
      - copied unchanged from r1308886, subversion/trunk/tools/server-side/svnpubsub/daemonize.py
Removed:
    subversion/branches/ev2-export/tools/dist/templates/htaccess.ezt
    subversion/branches/ev2-export/tools/dist/templates/rc-candidates.ezt
    subversion/branches/ev2-export/tools/dist/templates/stable-candidates.ezt
    subversion/branches/ev2-export/tools/server-side/svnpubsub/svnwcsub.tac
Modified:
    subversion/branches/ev2-export/   (props changed)
    subversion/branches/ev2-export/CHANGES
    subversion/branches/ev2-export/COMMITTERS
    subversion/branches/ev2-export/INSTALL
    subversion/branches/ev2-export/Makefile.in
    subversion/branches/ev2-export/build.conf
    subversion/branches/ev2-export/build/ac-macros/serf.m4
    subversion/branches/ev2-export/build/generator/gen_make.py
    subversion/branches/ev2-export/build/generator/templates/makefile.ezt
    subversion/branches/ev2-export/build/run_tests.py
    subversion/branches/ev2-export/configure.ac
    subversion/branches/ev2-export/notes/moves
    subversion/branches/ev2-export/notes/ra-serf-testing.txt
    subversion/branches/ev2-export/notes/subversion-design.html
    subversion/branches/ev2-export/notes/wc-ng/conflict-storage
    subversion/branches/ev2-export/subversion/bindings/javahl/README
    subversion/branches/ev2-export/subversion/bindings/swig/perl/native/t/3client.t
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/client.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/core.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/delta.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/diff.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/fs.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/ra.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/repos.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/svn/wc.py
    subversion/branches/ev2-export/subversion/bindings/swig/python/tests/pool.py
    subversion/branches/ev2-export/subversion/bindings/swig/ruby/svn/fs.rb
    subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/test_repos.rb
    subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/util.rb
    subversion/branches/ev2-export/subversion/include/private/svn_auth_private.h
    subversion/branches/ev2-export/subversion/include/private/svn_cache.h
    subversion/branches/ev2-export/subversion/include/private/svn_client_private.h
    subversion/branches/ev2-export/subversion/include/private/svn_mergeinfo_private.h
    subversion/branches/ev2-export/subversion/include/private/svn_mutex.h
    subversion/branches/ev2-export/subversion/include/private/svn_wc_private.h
    subversion/branches/ev2-export/subversion/include/svn_client.h
    subversion/branches/ev2-export/subversion/include/svn_delta.h
    subversion/branches/ev2-export/subversion/include/svn_diff.h
    subversion/branches/ev2-export/subversion/include/svn_editor.h
    subversion/branches/ev2-export/subversion/include/svn_props.h
    subversion/branches/ev2-export/subversion/include/svn_repos.h
    subversion/branches/ev2-export/subversion/include/svn_sorts.h
    subversion/branches/ev2-export/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
    subversion/branches/ev2-export/subversion/libsvn_auth_kwallet/kwallet.cpp
    subversion/branches/ev2-export/subversion/libsvn_client/client.h
    subversion/branches/ev2-export/subversion/libsvn_client/commit.c
    subversion/branches/ev2-export/subversion/libsvn_client/commit_util.c
    subversion/branches/ev2-export/subversion/libsvn_client/copy.c
    subversion/branches/ev2-export/subversion/libsvn_client/deprecated.c
    subversion/branches/ev2-export/subversion/libsvn_client/externals.c
    subversion/branches/ev2-export/subversion/libsvn_client/merge.c
    subversion/branches/ev2-export/subversion/libsvn_client/mergeinfo.c
    subversion/branches/ev2-export/subversion/libsvn_client/prop_commands.c
    subversion/branches/ev2-export/subversion/libsvn_client/ra.c
    subversion/branches/ev2-export/subversion/libsvn_client/util.c
    subversion/branches/ev2-export/subversion/libsvn_delta/compat.c
    subversion/branches/ev2-export/subversion/libsvn_delta/editor.c
    subversion/branches/ev2-export/subversion/libsvn_delta/xdelta.c
    subversion/branches/ev2-export/subversion/libsvn_fs/fs-loader.h
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/caching.c
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/dag.c
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/dag.h
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/fs.h
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/fs_fs.c
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/rep-cache-db.sql
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/temp_serializer.c
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/temp_serializer.h
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/tree.c
    subversion/branches/ev2-export/subversion/libsvn_fs_fs/tree.h
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/blame.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/commit.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/get_deleted_rev.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/getdate.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/getlocations.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/getlocationsegments.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/getlocks.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/locks.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/log.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/merge.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/mergeinfo.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/options.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/property.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/ra_serf.h
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/replay.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/serf.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/update.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/util.c
    subversion/branches/ev2-export/subversion/libsvn_ra_serf/xml.c
    subversion/branches/ev2-export/subversion/libsvn_ra_svn/client.c
    subversion/branches/ev2-export/subversion/libsvn_repos/dump.c
    subversion/branches/ev2-export/subversion/libsvn_repos/fs-wrap.c
    subversion/branches/ev2-export/subversion/libsvn_repos/hooks.c
    subversion/branches/ev2-export/subversion/libsvn_repos/log.c
    subversion/branches/ev2-export/subversion/libsvn_subr/cache-inprocess.c
    subversion/branches/ev2-export/subversion/libsvn_subr/cache-membuffer.c
    subversion/branches/ev2-export/subversion/libsvn_subr/cache-memcache.c
    subversion/branches/ev2-export/subversion/libsvn_subr/checksum.c
    subversion/branches/ev2-export/subversion/libsvn_subr/gpg_agent.c
    subversion/branches/ev2-export/subversion/libsvn_subr/macos_keychain.c
    subversion/branches/ev2-export/subversion/libsvn_subr/mergeinfo.c
    subversion/branches/ev2-export/subversion/libsvn_subr/properties.c
    subversion/branches/ev2-export/subversion/libsvn_subr/simple_providers.c
    subversion/branches/ev2-export/subversion/libsvn_subr/spillbuf.c
    subversion/branches/ev2-export/subversion/libsvn_subr/ssl_client_cert_pw_providers.c
    subversion/branches/ev2-export/subversion/libsvn_subr/svn_string.c
    subversion/branches/ev2-export/subversion/libsvn_subr/win32_crypto.c
    subversion/branches/ev2-export/subversion/libsvn_wc/adm_crawler.c
    subversion/branches/ev2-export/subversion/libsvn_wc/props.c
    subversion/branches/ev2-export/subversion/libsvn_wc/update_editor.c
    subversion/branches/ev2-export/subversion/libsvn_wc/wc-metadata.sql
    subversion/branches/ev2-export/subversion/libsvn_wc/wc-queries.sql
    subversion/branches/ev2-export/subversion/libsvn_wc/wc_db.c
    subversion/branches/ev2-export/subversion/libsvn_wc/wc_db_util.c
    subversion/branches/ev2-export/subversion/mod_dav_svn/mod_dav_svn.c
    subversion/branches/ev2-export/subversion/mod_dav_svn/version.c
    subversion/branches/ev2-export/subversion/po/fr.po
    subversion/branches/ev2-export/subversion/po/ja.po
    subversion/branches/ev2-export/subversion/svn/cl.h
    subversion/branches/ev2-export/subversion/svn/log-cmd.c
    subversion/branches/ev2-export/subversion/svn/main.c
    subversion/branches/ev2-export/subversion/svn/merge-cmd.c
    subversion/branches/ev2-export/subversion/svnlook/main.c
    subversion/branches/ev2-export/subversion/svnrdump/dump_editor.c
    subversion/branches/ev2-export/subversion/svnrdump/load_editor.c
    subversion/branches/ev2-export/subversion/svnserve/serve.c
    subversion/branches/ev2-export/subversion/svnsync/main.c
    subversion/branches/ev2-export/subversion/svnsync/sync.c
    subversion/branches/ev2-export/subversion/tests/cmdline/authz_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/checkout_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/copy_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/ev2-export/subversion/tests/cmdline/depth_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/log_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/merge_reintegrate_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/merge_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svnadmin_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svnlook_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svnsync_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/actions.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/factory.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/main.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/sandbox.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/tree.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/verify.py
    subversion/branches/ev2-export/subversion/tests/cmdline/svntest/wc.py
    subversion/branches/ev2-export/subversion/tests/cmdline/tree_conflict_tests.py
    subversion/branches/ev2-export/subversion/tests/cmdline/update_tests.py
    subversion/branches/ev2-export/subversion/tests/libsvn_client/   (props changed)
    subversion/branches/ev2-export/subversion/tests/libsvn_client/client-test.c
    subversion/branches/ev2-export/subversion/tests/libsvn_delta/random-test.c
    subversion/branches/ev2-export/subversion/tests/libsvn_subr/   (props changed)
    subversion/branches/ev2-export/subversion/tests/libsvn_subr/cache-test.c
    subversion/branches/ev2-export/subversion/tests/libsvn_subr/spillbuf-test.c
    subversion/branches/ev2-export/subversion/tests/libsvn_wc/db-test.c
    subversion/branches/ev2-export/subversion/tests/libsvn_wc/op-depth-test.c
    subversion/branches/ev2-export/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
    subversion/branches/ev2-export/tools/client-side/mergeinfo-sanitizer.py   (contents, props changed)
    subversion/branches/ev2-export/tools/client-side/svnmucc/svnmucc.c
    subversion/branches/ev2-export/tools/dev/gdb-py/svndbg/printers.py
    subversion/branches/ev2-export/tools/dev/merge-graph.py
    subversion/branches/ev2-export/tools/dev/mergegraph/mergegraph.py
    subversion/branches/ev2-export/tools/dev/unix-build/Makefile.svn
    subversion/branches/ev2-export/tools/dev/which-error.py
    subversion/branches/ev2-export/tools/dist/_gnupg.py
    subversion/branches/ev2-export/tools/dist/dist.sh
    subversion/branches/ev2-export/tools/dist/release.py
    subversion/branches/ev2-export/tools/server-side/mod_dontdothat/mod_dontdothat.c
    subversion/branches/ev2-export/tools/server-side/svnpubsub/README.txt
    subversion/branches/ev2-export/tools/server-side/svnpubsub/rc.d/svnwcsub
    subversion/branches/ev2-export/tools/server-side/svnpubsub/rc.d/svnwcsub.debian
    subversion/branches/ev2-export/tools/server-side/svnpubsub/rc.d/svnwcsub.solaris
    subversion/branches/ev2-export/tools/server-side/svnpubsub/svnpubsub/client.py
    subversion/branches/ev2-export/tools/server-side/svnpubsub/svnwcsub.py

Propchange: subversion/branches/ev2-export/
------------------------------------------------------------------------------
  Merged /subversion/branches/multi-layer-moves:r1239019-1300930
  Merged /subversion/trunk:r1297219-1308886
  Merged /subversion/branches/node_pool:r1304828-1305388

Modified: subversion/branches/ev2-export/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/CHANGES?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/CHANGES (original)
+++ subversion/branches/ev2-export/CHANGES Tue Apr  3 13:32:48 2012
@@ -384,6 +384,30 @@ the 1.6 release:  http://subversion.apac
     * fix type mapping of svn_txdelta_window_t in python bindings (issue #3688)
 
 
+Version 1.6.18
+(29 Mar 2012, from /branches/1.6.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.6.18
+
+  User-visible changes:
+    * reject invalid svn:mergeinfo at commit time over DAV (issue #3953) 
+    * fix reintegrate merge regression introduced in 1.6.13 (issue #3957)
+    * make the stderr output of the post-commit hook XML-safe (r893478)
+    * fix a rare source of FSFS corruption (r1240752)
+    * plug a memory leak in the bdb backend (r1205726)
+    * server-side performance fix for "log -g" (r1152282)
+    * fix description of svndumpfilter's --targets option (r1151911)
+    * fix datastream corruption during resumed transfer in ra_serf (r1154733)
+    * fix a crash in ra_svn SASL authentication (r1166555, -678)
+    * fix potential corruption on 32-bit FSFS with large files (r1230212)
+    * make website links point to subversion.apache.org (r896893, -901, r915036)
+    * fix non-fatal FSFS corruption bug with concurrent commits (issue #4129)
+
+  Developer-visible changes:
+    * fix sqlite distfile retrieval in get-deps.sh (r1134734)
+    * fix swig-py memory leak (r1235264, -296, -302, -736)
+    * allow passing --with-jdk to gen-make.py on Windows (r966167)
+
+
 Version 1.6.17
 (01 Jun 2011, from /branches/1.6.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.6.17

Modified: subversion/branches/ev2-export/COMMITTERS
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/COMMITTERS?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/COMMITTERS [UTF-8] (original)
+++ subversion/branches/ev2-export/COMMITTERS [UTF-8] Tue Apr  3 13:32:48 2012
@@ -57,6 +57,7 @@ Blanket commit access:
         dannas   Daniel Näslund <da...@dannas.name>
        stefan2   Stefan Fuhrmann <st...@alice-dsl.de>
        jcorvel   Johan Corveleyn <jc...@gmail.com>
+         trent   Trent Nelson <tr...@snakebite.org>
 
 [[END ACTIVE FULL COMMITTERS.  LEAVE THIS LINE HERE; SCRIPTS LOOK FOR IT.]]
 

Modified: subversion/branches/ev2-export/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/INSTALL?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/INSTALL (original)
+++ subversion/branches/ev2-export/INSTALL Tue Apr  3 13:32:48 2012
@@ -324,7 +324,7 @@ I.    INTRODUCTION
       default.  Add "http-library = neon" to the [global] section of
       your ~/.subversion/servers file to use ra_neon instead.)
 
-        a. Serf library 0.7.1 or newer (http://code.google.com/p/serf/)
+        a. Serf library 1.1.0 or newer (http://code.google.com/p/serf/)
 
            In order to use ra_serf, you must install serf, and run
            Subversion's ./configure with the argument --with-serf.  If

Modified: subversion/branches/ev2-export/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/Makefile.in?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/Makefile.in (original)
+++ subversion/branches/ev2-export/Makefile.in Tue Apr  3 13:32:48 2012
@@ -135,6 +135,7 @@ INCLUDES = -I$(top_srcdir)/subversion/in
 
 APACHE_INCLUDES = @APACHE_INCLUDES@
 APACHE_LIBEXECDIR = $(DESTDIR)@APACHE_LIBEXECDIR@
+APACHE_LIBEXECDIR_TOOLS = $(DESTDIR)@APACHE_LIBEXECDIR@/svn-tools
 APACHE_LDFLAGS = @APACHE_LDFLAGS@
 
 SWIG = @SWIG@
@@ -252,6 +253,7 @@ INSTALL_CONTRIB = $(LIBTOOL) --mode=inst
 INSTALL_TOOLS = $(LIBTOOL) --mode=install $(INSTALL)
 INSTALL_INCLUDE = $(INSTALL) -m 644
 INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
+INSTALL_MOD_SHARED_TOOLS = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR_TOOLS)"
 INSTALL_DATA = $(INSTALL) -m 644
 INSTALL_LOCALE = $(INSTALL_DATA)
 
@@ -381,16 +383,18 @@ fast-clean: doc-clean
 		$(abs_srcdir)/build $(top_srcdir)/subversion/tests/cmdline/svntest \
 		-name "*.pyc" -exec rm {} ';'
 
-# clean all but bulky test output, returning to before './configure' was run.
+# clean everything, returning to before './configure' was run.
 SVN_CONFIG_SCRIPT_FILES = @SVN_CONFIG_SCRIPT_FILES@
-fast-distclean: fast-clean
-	rm -fr Makefile config.cache config.log config.nice config.status \
-	libtool mkmf.log subversion/svn_private_config.h \
-	subversion/bindings/javahl/classes subversion/bindings/javahl/include \
+local-distclean: local-clean
+	rm -fr config.cache config.log config.nice config.status \
+	  libtool mkmf.log subversion/svn_private_config.h \
+	  subversion/bindings/javahl/classes \
+	  subversion/bindings/javahl/include \
 	$(SVN_CONFIG_SCRIPT_FILES)
+	rm -f Makefile
 
 # clean everything out, returning to before './autogen.sh' was run.
-local-extraclean: local-distclean extraclean-swig extraclean-ctypes-python extraclean-javahl
+local-extraclean: extraclean-bindings local-distclean
 	rm -f $(top_srcdir)/build-outputs.mk \
               $(top_srcdir)/subversion/svn_private_config.h.in \
               $(top_srcdir)/configure \
@@ -408,10 +412,7 @@ local-extraclean: local-distclean extrac
 
 
 # clean everything, including test output.
-local-clean: fast-clean check-clean clean-swig clean-ctypes-python clean-javahl
-
-# clean everything, including test output.
-local-distclean: fast-distclean check-clean
+local-clean: check-clean clean-bindings fast-clean
 
 local-install: @INSTALL_RULES@
 
@@ -437,8 +438,6 @@ clean-javahl:
 	rm -f $(libsvnjavahl_PATH)/*.lo
 	rm -f $(libsvnjavahl_PATH)/*.o
 
-extraclean-javahl: clean-javahl
-
 check-tigris-javahl: javahl-compat
 	@FIX_JAVAHL_LIB@
 	$(JAVA) "-Dtest.rootdir=$(javahl_test_rootdir)" "-Dtest.srcdir=$(javahl_test_srcdir)" "-Dtest.rooturl=$(BASE_URL)" "-Dtest.fstype=$(FS_TYPE)" -Djava.library.path=@JAVAHL_OBJDIR@:$(libdir) -classpath $(javahl_compat_tests_PATH):$(javahl_tests_CLASSPATH) "-Dtest.tests=$(JAVAHL_TESTS)" org.tigris.subversion.javahl.RunTests
@@ -575,36 +574,24 @@ external-all external-install:
         done;
 
 ### apr-util relies on generated files in apr, so reverse the
-### list so that it is cleaned before apr.
-external-clean external-distclean:
+### list so that it is cleaned before apr. also note that Neon does
+### not have an extraclean target, so get "close" with distclean
+external-clean external-distclean external-extraclean:
 	@target=`echo $@ | sed s/external-//`;          \
         list='$(SVN_EXTERNAL_PROJECT_SUBDIRS)';         \
         for i in $$list; do                             \
             revlist="$$i $$revlist";                    \
         done;                                           \
         for i in $$revlist; do                          \
-            echo "------ making $$target in $$i";       \
-            (cd $$i && $(MAKE) $$target) || exit 1;     \
-            echo "------ completed $$target in $$i";    \
-        done;
-
-### temporary hack. Neon does not have an "extraclean" and neither does db
-### If we don't have extraclean -- do the next best thing.
-external-extraclean:
-	@list='$(SVN_EXTERNAL_PROJECT_SUBDIRS)';                         \
-        for i in $$list; do                                              \
-            revlist="$$i $$revlist";                                     \
-        done;                                                            \
-        for i in $$revlist; do                                           \
-            if test "$$i" = "neon" || test "$$i" = "db/dist"; then       \
-                echo "------ making distclean(no extraclean) in $$i";    \
+            if test "$$i" = "neon" -a "$$target" = "extraclean"; then    \
+                echo "------ making distclean (no extraclean) in $$i";    \
                 (cd $$i && $(MAKE) distclean) || exit 1;                 \
-                echo "------ completed distclean(no extraclean) in $$i"; \
+                echo "------ completed distclean (no extraclean) in $$i"; \
             else                                                         \
-                echo "------ making extraclean in $$i";                  \
-                (cd $$i && $(MAKE) extraclean) || exit 1;                \
-                echo "------ completed extraclean in $$i";               \
-            fi;                                                          \
+                echo "------ making $$target in $$i";       \
+                (cd $$i && $(MAKE) $$target) || exit 1;     \
+                echo "------ completed $$target in $$i";    \
+            fi;                                             \
         done;
 
 
@@ -729,10 +716,15 @@ install-man:
 install-swig-py: install-swig-py-lib
 install-swig-rb: install-swig-rb-lib
 
+clean-bindings: clean-swig clean-ctypes-python clean-javahl
+
+extraclean-bindings: clean-swig extraclean-swig-headers \
+			extraclean-swig-py extraclean-swig-rb \
+			extraclean-swig-pl \
+			clean-ctypes-python clean-javahl \
+
 clean-swig: clean-swig-headers clean-swig-py clean-swig-rb clean-swig-pl
 	@rm -f .swig_checked
-extraclean-swig: extraclean-swig-headers extraclean-swig-py \
-                 extraclean-swig-rb extraclean-swig-pl
 
 EXTRACLEAN_SWIG_HEADERS=rm -f $(SWIG_SRC_DIR)/proxy/*.swg
 
@@ -866,8 +858,6 @@ clean-ctypes-python:
 	cd $(CTYPES_PYTHON_SRC_DIR); \
 	  $(PYTHON) setup.py clean --all
 
-extraclean-ctypes-python: clean-ctypes-python
-
 
 # manually describe a dependency, which we won't otherwise detect
 subversion/libsvn_wc/wc-queries.h: $(abs_srcdir)/subversion/libsvn_wc/wc-metadata.sql

Modified: subversion/branches/ev2-export/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/build.conf?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/build.conf (original)
+++ subversion/branches/ev2-export/build.conf Tue Apr  3 13:32:48 2012
@@ -368,7 +368,7 @@ type = apache-mod
 path = tools/server-side/mod_dontdothat
 nonlibs = mod_dav_svn apr aprutil
 libs = libsvn_subr xml
-install = apache-mod
+install = tools
 msvc-libs = libhttpd.lib
 
 # ----------------------------------------------------------------------------
@@ -744,6 +744,14 @@ sources = config-test.c
 install = test
 libs = libsvn_test libsvn_subr apriconv apr
 
+[crypto-test]
+description = Test svn_crypto utilities
+type = exe
+path = subversion/tests/libsvn_subr
+sources = crypto-test.c
+install = test
+libs = libsvn_test libsvn_subr aprutil apr
+
 [dirent_uri-test]
 description = Test dirent_uri library
 type = exe
@@ -1133,7 +1141,7 @@ libs = __ALL__
        strings-reps-test changes-test locks-test repos-test
        checksum-test compat-test config-test hashdump-test mergeinfo-test
        opt-test path-test stream-test string-test time-test utf-test
-       target-test error-test cache-test spillbuf-test
+       target-test error-test cache-test spillbuf-test crypto-test
        revision-test
        subst_translate-test
        translate-test

Modified: subversion/branches/ev2-export/build/ac-macros/serf.m4
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/build/ac-macros/serf.m4?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/build/ac-macros/serf.m4 (original)
+++ subversion/branches/ev2-export/build/ac-macros/serf.m4 Tue Apr  3 13:32:48 2012
@@ -32,14 +32,14 @@ AC_DEFUN(SVN_LIB_SERF,
   serf_check_patch="$3"
 
   AC_ARG_WITH(serf,AS_HELP_STRING([--with-serf=PREFIX],
-                                  [Serf WebDAV client library]),
+                                  [Serf HTTP client library]),
   [
     if test "$withval" = "yes" ; then
       AC_MSG_ERROR([--with-serf requires an argument.])
     elif test "$withval" != "no" ; then
       AC_MSG_NOTICE([serf library configuration])
       serf_prefix=$withval
-      for serf_major in serf-2 serf-1 serf-0; do
+      for serf_major in serf-2 serf-1; do
         if ! test -d $serf_prefix/include/$serf_major; then continue; fi
         save_cppflags="$CPPFLAGS"
         CPPFLAGS="$CPPFLAGS $SVN_APR_INCLUDES $SVN_APRUTIL_INCLUDES -I$serf_prefix/include/$serf_major"
@@ -62,20 +62,7 @@ AC_DEFUN(SVN_LIB_SERF,
         test $serf_found = yes && break
       done
     fi
-  ], [
-       if test -d "$srcdir/serf"; then
-         serf_found=reconfig
-       fi
-     ])
-
-
-  if test $serf_found = "reconfig"; then
-    SVN_EXTERNAL_PROJECT([serf], [--with-apr=$apr_config --with-apr-util=$apu_config])
-    serf_major=serf-`$srcdir/serf/build/get-version.sh major $srcdir/serf/serf.h SERF`
-    serf_prefix=$prefix
-    SVN_SERF_INCLUDES="-I$srcdir/serf"
-    SVN_SERF_LIBS="$abs_builddir/serf/lib$serf_major.la"
-  fi
+  ])
 
   if test $serf_found = "yes"; then
     SVN_SERF_INCLUDES="-I$serf_prefix/include/$serf_major"
@@ -85,8 +72,6 @@ AC_DEFUN(SVN_LIB_SERF,
       SVN_SERF_LIBS="-l$serf_major"
       LDFLAGS="$LDFLAGS -L$serf_prefix/lib"
     fi
-  elif test $serf_found = "reconfig"; then
-    serf_found=yes
   fi
 
   svn_lib_serf=$serf_found

Modified: subversion/branches/ev2-export/build/generator/gen_make.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/build/generator/gen_make.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/build/generator/gen_make.py (original)
+++ subversion/branches/ev2-export/build/generator/gen_make.py Tue Apr  3 13:32:48 2012
@@ -369,18 +369,21 @@ class Generator(gen_base.GeneratorBase):
       # get the output files for these targets, sorted in dependency order
       files = gen_base._sorted_files(self.graph, area)
 
-      ezt_area = _eztdata(type=area, files=[ ], extra_install=None)
+      ezt_area = _eztdata(type=area, files=[ ], apache_files=[ ],
+                          extra_install=None)
 
-      if area == 'apache-mod':
-        data.areas.append(ezt_area)
-
-        for file in files:
+      def apache_file_to_eztdata(file):
           # cd to dirname before install to work around libtool 1.4.2 bug.
           dirname, fname = build_path_splitfile(file)
           base, ext = os.path.splitext(fname)
           name = base.replace('mod_', '')
-          ezt_area.files.append(_eztdata(fullname=file, dirname=dirname,
-                                         name=name, filename=fname))
+          return _eztdata(fullname=file, dirname=dirname,
+                          name=name, filename=fname)
+      if area == 'apache-mod':
+        data.areas.append(ezt_area)
+
+        for file in files:
+          ezt_area.files.append(apache_file_to_eztdata(file))
 
       elif area != 'test' and area != 'bdb-test':
         data.areas.append(ezt_area)
@@ -390,6 +393,14 @@ class Generator(gen_base.GeneratorBase):
         ezt_area.varname = area_var
         ezt_area.uppervar = upper_var
 
+        # ### TODO: This is a hack.  See discussion here:
+        # ### http://mid.gmane.org/20120316191639.GA28451@daniel3.local
+        apache_files = [t.filename for t in inst_targets
+                        if isinstance(t, gen_base.TargetApacheMod)]
+
+        files = [f for f in files if f not in apache_files]
+        for file in apache_files:
+          ezt_area.apache_files.append(apache_file_to_eztdata(file))
         for file in files:
           # cd to dirname before install to work around libtool 1.4.2 bug.
           dirname, fname = build_path_splitfile(file)

Modified: subversion/branches/ev2-export/build/generator/templates/makefile.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/build/generator/templates/makefile.ezt?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/build/generator/templates/makefile.ezt (original)
+++ subversion/branches/ev2-export/build/generator/templates/makefile.ezt Tue Apr  3 13:32:48 2012
@@ -126,11 +126,12 @@ $([target.varname]_OBJECTS): $([target.v
 [for areas]
 [is areas.type "apache-mod"]install-mods-shared:[for areas.files] [areas.files.fullname][end][for areas.files]
 	cd [areas.files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ; $(INSTALL_MOD_SHARED) -n [areas.files.name] [areas.files.filename][end]
-[else]install-[areas.type]: [for areas.files][if-index areas.files first][else] [end][areas.files.fullname][end]
+[else]install-[areas.type]: [for areas.files][if-index areas.files first][else] [end][areas.files.fullname][end] [for areas.apache_files] [areas.apache_files.fullname][end]
 	$(MKDIR) $(DESTDIR)$([areas.varname]dir)[for areas.files][is areas.type "locale"]
 	$(MKDIR) [areas.files.installdir]
 	cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar]) [areas.files.filename] [areas.files.installdir]/$(PACKAGE_NAME)[areas.files.objext][else]
-	cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar]) [areas.files.filename] $(DESTDIR)[areas.files.install_fname][end][end]
+	cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar]) [areas.files.filename] $(DESTDIR)[areas.files.install_fname][end][end][for areas.apache_files]
+	cd [areas.apache_files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR_TOOLS)" ; $(INSTALL_MOD_SHARED_TOOLS) -n [areas.apache_files.name] [areas.apache_files.filename][end]
 [if-any areas.extra_install]	$(INSTALL_EXTRA_[areas.uppervar])
 [end][end][end]
 

Modified: subversion/branches/ev2-export/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/build/run_tests.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/build/run_tests.py (original)
+++ subversion/branches/ev2-export/build/run_tests.py Tue Apr  3 13:32:48 2012
@@ -393,6 +393,10 @@ class TestHarness:
 
       line = prog.stdout.readline()
 
+    # If we didn't run any tests, still print out the dots
+    if not tests_completed:
+      os.write(sys.stdout.fileno(), '.' * dot_count)
+
     prog.wait()
     return prog.returncode
 

Modified: subversion/branches/ev2-export/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/configure.ac?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/configure.ac (original)
+++ subversion/branches/ev2-export/configure.ac Tue Apr  3 13:32:48 2012
@@ -138,7 +138,7 @@ if test "$svn_lib_neon" = "yes"; then
 fi
 
 dnl Search for serf as an alternative to neon
-SVN_LIB_SERF(0,7,1)
+SVN_LIB_SERF(1,0,0)
 
 if test "$svn_lib_serf" = "yes"; then
   AC_DEFINE([SVN_HAVE_SERF], 1,
@@ -654,6 +654,19 @@ AC_SUBST(SVN_GNOME_KEYRING_INCLUDES)
 AC_SUBST(SVN_GNOME_KEYRING_LIBS)
 
 
+dnl Ev2 experimental feature ----------------------
+dnl Note: The Ev2 compat code will be built unconditionally, but by providing
+dnl this flag, users can enforce Ev2 compliance for testing purposes
+AC_ARG_ENABLE(ev2-shims,
+  AS_HELP_STRING([--enable-ev2-shims],
+                 [Compile with Ev2 translation [EXPERIMENTAL]]),
+  [enable_ev2_shims=$enableval],[enable_ev2_shims=no])
+if test "$enable_ev2_shims" = "yes"; then
+  AC_DEFINE(ENABLE_EV2_SHIMS, 1,
+            [Define to 1 if Ev2 should be interjected into editor stacks.])
+fi
+
+
 dnl I18n -------------------
 
 AC_ARG_ENABLE(nls,

Modified: subversion/branches/ev2-export/notes/moves
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/notes/moves?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/notes/moves (original)
+++ subversion/branches/ev2-export/notes/moves Tue Apr  3 13:32:48 2012
@@ -39,29 +39,22 @@ The following columns in the NODES table
 moves from copies:
 
   /* Boolean value, specifying if this node was moved here (rather than just
-     copied). The source of the move is implied by a different node with
-     a moved_to column pointing at this node. */
+     copied). This is set on all the nodes in the moved tree.  The source of
+     the move is implied by a different node with a moved_to column pointing
+     at the root node of the moved tree. */
   moved_here  INTEGER,
 
   /* If the underlying node was moved away (rather than just deleted), this
-     specifies the local_relpath of where the BASE node was moved to.
+     specifies the local_relpath of where the node was moved to.
      This is set only on the root of a move, and is NULL for all children.
 
-     Note that moved_to never refers to *this* node. It always refers
-     to the "underlying" node in the BASE tree. A non-NULL moved_to column
-     is only valid in rows where op_depth == 0. */
+     The op-depth of the moved-to node is not recorded. A moved_to path
+     always points at a node within the highest op-depth layer at the
+     destination. This invariant must be maintained by operations which
+     change existing move information. */
   moved_to  TEXT,
 
-Some new queries were added which use these columns:
-
-  STMT_SELECT_MOVED_FROM_RELPATH
-  STMT_UPDATE_MOVED_TO_RELPATH
-  STMT_CLEAR_MOVED_TO_RELPATH
-  STMT_CLEAR_MOVED_TO_RELPATH_RECURSIVE
-  STMT_SELECT_MOVED_HERE_CHILDREN
-
-More queries might be needed (TBD).
-
+Many queries were added or changed to use these columns.
 
 == libsvn_wc ==
 
@@ -81,6 +74,8 @@ private libsvn_wc API:
       the node at the moved_from abspath
 
 More API changes might be needed (TBD).
+In particular, scan_deletion may need to return a list of moves
+in the multi-layer case (http://wiki.apache.org/subversion/MultiLayerMoves)
 
 We might require a working copy upgrade when going from 1.7 to 1.8,
 and only allow new move functionality to be used with 1.8 working copies.

Modified: subversion/branches/ev2-export/notes/ra-serf-testing.txt
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/notes/ra-serf-testing.txt?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/notes/ra-serf-testing.txt (original)
+++ subversion/branches/ev2-export/notes/ra-serf-testing.txt Tue Apr  3 13:32:48 2012
@@ -1,3 +1,5 @@
+[ THE CUSTOM TESTING CODE DESCRIBED BELOW WAS REMOVED in r1302567 ]
+
 For the 1.7 release, ra_serf grew a new internal feature to "pause"
 the parsing of (large) XML response bodies. This file intends to
 document the strategy for testing this new feature.

Modified: subversion/branches/ev2-export/notes/subversion-design.html
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/notes/subversion-design.html?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/notes/subversion-design.html (original)
+++ subversion/branches/ev2-export/notes/subversion-design.html Tue Apr  3 13:32:48 2012
@@ -2340,7 +2340,10 @@ write/Makefile:6
       <p>Once you've done this, read Jim Blandy's own structural overview,
         which explains how nodes and revisions are organized (among other
         things) in the filesystem implementation:
-        <tt class="filename">subversion/libsvn_fs_base/notes/structure</tt>.</p>
+        <tt class="filename">subversion/libsvn_fs_base/notes/structure</tt>.
+        (Some details in that document are specific to the BDB-based
+        filesystem implementation.  Details specific to FSFS are recorded in
+        <tt class="filename">subversion/libsvn_fs_fs/structure</tt>.)</p>
 
       <p>Finally, read the well-documented API in
         <tt class="filename">subversion/include/svn_fs.h</tt>.</p>

Modified: subversion/branches/ev2-export/notes/wc-ng/conflict-storage
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/notes/wc-ng/conflict-storage?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/notes/wc-ng/conflict-storage (original)
+++ subversion/branches/ev2-export/notes/wc-ng/conflict-storage Tue Apr  3 13:32:48 2012
@@ -200,7 +200,7 @@ Tree conflicts
 Tree conflicts exist on files or directories.
 
 ### JAF: And symlinks, I presume - or, if not, why not?
-### stsp: Symlinks are resolved before retreiving conflict information.,
+### stsp: Symlinks are resolved before retreiving conflict information.
 
 The following information is stored if there is a tree conflict on the node:
 
@@ -212,8 +212,18 @@ The following information is stored if t
 
 LOCAL_CHANGE is the local change which conflicted with the
 incoming change during the operation. Possible values are "edit", "add",
-"delete", "rename", "replace", "obstructed", "missing", and "unversioned"
-(### possibly collapse "unversioned" with "obstructed"?).
+"delete", "rename", "replace", "obstructed", "missing", "unversioned",
+"moved-away", "moved-here", and "copied-here".
+
+### possibly collapse "unversioned" with "obstructed"?
+
+### what is "replace"? we should probably have "replace-add",
+### "replace-moved-away", "replace-moved-here", and "replace-copied-here"
+### hrm. this probably isn't the right representation. "replace-add"
+### says how the new node arrived, but not how the original departed.
+### was it a deleted or moved-away? for example, a local-deleted
+### followed by an add, followed by an incoming-delete should probably
+### be deemed "no conflict".
 
 ORIGINAL_NODE_KIND is the kind of the node in the BASE tree.
 MINE_NODE_KIND is the kind of the node from the WORKING tree at the
@@ -221,7 +231,9 @@ time the conflict was flagged.
 
 INCOMING_CHANGE is the incoming change which conflicted with the
 local change during the operation. Possible values are "edit", "add",
-"delete", "rename", and "replace".
+"delete", "rename", "replace", "moved-away", "moved-here", and
+"copied-here".
+### see concerns above about LOCAL_CHANGE.
 
 The *_SHA1 sum fields are only present if {ORIGINAL,MINE,INCOMING}_NODE_KIND
 is "file".

Modified: subversion/branches/ev2-export/subversion/bindings/javahl/README
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/javahl/README?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/javahl/README (original)
+++ subversion/branches/ev2-export/subversion/bindings/javahl/README Tue Apr  3 13:32:48 2012
@@ -5,7 +5,7 @@ JavaHL provides a (mostly native, using 
 a high level Java API for Subversion, which was originally targeted for
 implementors of GUI clients and IDE plug-ins for Subversion.  JavaHL
 currently provides a minimal-but-complete set of APIs which expose the
-core Subversion C API to Java.  It requires a JRE 1.2+ (runtime).
+core Subversion C API to Java.  It requires a JRE 1.5+ (runtime).
 
 It is currently quite mature, and can be considered for production use.
 
@@ -14,7 +14,7 @@ Build system
 ------------
 
 JavaHL should compile and run under Linux, Win32, and Mac OS X with a
-JDK 1.3+.
+JDK 1.5+.
 
 Its build will produce both a native library (libsvnjavahl-1.so on Unix
 or libsvnjavahl-1.dll on Win32) and a platform independent archive of
@@ -62,9 +62,6 @@ Success stories
 
 Subclipse, Eclipse IDE plug-in <http://subclipse.tigris.org/>
 
-Svn-Up, Swing GUI and plug-in for the IDEA IDE
-<http://svnup.tigris.org/>
-
 
 Why not 100% pure Java?
 -----------------------

Modified: subversion/branches/ev2-export/subversion/bindings/swig/perl/native/t/3client.t
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/perl/native/t/3client.t?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/perl/native/t/3client.t (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/perl/native/t/3client.t Tue Apr  3 13:32:48 2012
@@ -58,7 +58,12 @@ my $current_rev = 0;
 $SVN::Error::handler = undef;
 
 # Get username we are running as
-my $username = getlogin() || getpwuid($>);
+my $username;
+if ($^O eq 'MSWin32') {
+    $username = getlogin();
+} else {
+    $username = getpwuid($>) || getlogin();
+}
 
 # This is ugly to create the test repo with SVN::Repos, but
 # it seems to be the most reliable way.
@@ -337,8 +342,14 @@ is($ctx->blame("$reposurl/foo",'HEAD','H
                                                  'author param is expected' .
                                                  'value');
                                               ok($date,'date is defined');
-                                              is($line,'foobar',
-                                                 'line is expected value');
+                                              if ($^O eq 'MSWin32') {
+                                                #### Why two \r-s?
+                                                is($line,"foobar\r\r",
+                                                   'line is expected value');
+                                              } else {
+                                                is($line,'foobar',
+                                                   'line is expected value');
+                                              }
                                               isa_ok($pool,'_p_apr_pool_t',
                                                      'pool param is ' .
                                                      '_p_apr_pool_t');

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/client.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/client.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/client.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/client.py Tue Apr  3 13:32:48 2012
@@ -27,4 +27,5 @@ from libsvn.client import *
 from svn.core import _unprefix_names
 _unprefix_names(locals(), 'svn_client_')
 _unprefix_names(locals(), 'SVN_CLIENT_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/core.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/core.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,44 @@ from libsvn.core import *
 import libsvn.core as _libsvncore
 import atexit as _atexit
 import sys
+__all__ = [
+  # Symbols that 'import *' used to pull (in 1.7)
+  'Pool',
+  'SVNSYNC_PROP_CURRENTLY_COPYING',
+  'SVNSYNC_PROP_FROM_URL',
+  'SVNSYNC_PROP_FROM_UUID',
+  'SVNSYNC_PROP_LAST_MERGED_REV',
+  'SVNSYNC_PROP_LOCK',
+  'SVNSYNC_PROP_PREFIX',
+  'SubversionException',
+  # 'apr_array_header_t',
+  # 'apr_file_open_stderr',
+  # 'apr_file_open_stdout',
+  # 'apr_file_t',
+  # 'apr_hash_t',
+  # 'apr_initialize',
+  # 'apr_pool_clear',
+  # 'apr_pool_destroy',
+  # 'apr_pool_t',
+  # 'apr_terminate',
+  # 'apr_time_ansi_put',
+  # 'run_app',
+
+  # Symbols defined explicitly below.
+  'SVN_IGNORED_REVNUM',
+  'SVN_INVALID_REVNUM',
+  'svn_path_compare_paths',
+  'svn_mergeinfo_merge',
+  'svn_mergeinfo_sort',
+  'svn_rangelist_merge',
+  'svn_rangelist_reverse',
+  # 'Stream',
+  # 'apr_initialize',
+  # 'apr_terminate',
+  'svn_pool_create',
+  'svn_pool_destroy',
+  'svn_pool_clear',
+]
 
 class SubversionException(Exception):
 

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/delta.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/delta.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/delta.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/delta.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,7 @@ from libsvn.delta import *
 from svn.core import _unprefix_names
 _unprefix_names(locals(), 'svn_delta_')
 _unprefix_names(locals(), 'svn_txdelta_', 'tx_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names
 
 # Force our accessor since it appears that there isn't a more civilized way

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/diff.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/diff.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/diff.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/diff.py Tue Apr  3 13:32:48 2012
@@ -26,4 +26,5 @@
 from libsvn.diff import *
 from svn.core import _unprefix_names
 _unprefix_names(locals(), 'svn_diff_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/fs.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/fs.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/fs.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/fs.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,7 @@ from libsvn.fs import *
 from svn.core import _unprefix_names, Pool
 _unprefix_names(locals(), 'svn_fs_')
 _unprefix_names(locals(), 'SVN_FS_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names
 
 

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/ra.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/ra.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/ra.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/ra.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,7 @@ from libsvn.ra import *
 from svn.core import _unprefix_names
 _unprefix_names(locals(), 'svn_ra_')
 _unprefix_names(locals(), 'SVN_RA_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names
 
 class Callbacks:

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/repos.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/repos.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/repos.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/repos.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,7 @@ from libsvn.repos import *
 from svn.core import _unprefix_names, Pool
 _unprefix_names(locals(), 'svn_repos_')
 _unprefix_names(locals(), 'SVN_REPOS_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names
 
 

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/svn/wc.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/svn/wc.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/svn/wc.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/svn/wc.py Tue Apr  3 13:32:48 2012
@@ -27,6 +27,7 @@ from libsvn.wc import *
 from svn.core import _unprefix_names
 _unprefix_names(locals(), 'svn_wc_')
 _unprefix_names(locals(), 'SVN_WC_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
 del _unprefix_names
 
 

Modified: subversion/branches/ev2-export/subversion/bindings/swig/python/tests/pool.py
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/python/tests/pool.py?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/python/tests/pool.py (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/python/tests/pool.py Tue Apr  3 13:32:48 2012
@@ -195,10 +195,10 @@ class PoolTestCase(unittest.TestCase):
     self.assertNone(anonymous_pool_ref())
 
     # Try to cause a segfault using apr_terminate
-    apr_terminate()
-    apr_initialize()
-    apr_terminate()
-    apr_terminate()
+    svn.core.apr_terminate()
+    svn.core.apr_initialize()
+    svn.core.apr_terminate()
+    svn.core.apr_terminate()
 
     # Destroy the application pool
     svn_pool_destroy(libsvn.core.application_pool)

Modified: subversion/branches/ev2-export/subversion/bindings/swig/ruby/svn/fs.rb
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/ruby/svn/fs.rb?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/ruby/svn/fs.rb (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/ruby/svn/fs.rb Tue Apr  3 13:32:48 2012
@@ -415,7 +415,7 @@ module Svn
                         ignore_ancestry)
       end
 
-      def replay(editor, base_dir=nil, low_water_mark=nil, send_deltas=false,
+      def replay(editor, base_dir=nil, low_water_mark=nil, send_deltas=true,
                  &callback)
         base_dir ||= ""
         low_water_mark ||= Core::INVALID_REVNUM

Modified: subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/test_repos.rb
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/test_repos.rb?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/test_repos.rb (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/test_repos.rb Tue Apr  3 13:32:48 2012
@@ -94,7 +94,7 @@ class SvnReposTest < Test::Unit::TestCas
   end
 
   def test_create
-    tmp_repos_path = File.join(@tmp_path, "repos")
+    tmp_repos_path = File.join(@tmp_path, "repos2")
     fs_type = Svn::Fs::TYPE_FSFS
     fs_config = {Svn::Fs::CONFIG_FS_TYPE => fs_type}
     repos = nil

Modified: subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/util.rb
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/util.rb?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/util.rb (original)
+++ subversion/branches/ev2-export/subversion/bindings/swig/ruby/test/util.rb Tue Apr  3 13:32:48 2012
@@ -37,15 +37,17 @@ module SvnTestUtil
     @author = ENV["USER"] || "sample-user"
     @password = "sample-password"
     @realm = "sample realm"
-    @repos_path = "repos"
-    @full_repos_path = File.expand_path(@repos_path)
-    @repos_uri = "file://#{@full_repos_path.sub(/^\/?/, '/')}"
+
     @svnserve_host = "127.0.0.1"
     @svnserve_ports = (64152..64282).collect{|x| x.to_s}
-    @wc_base_dir = Dir.mktmpdir
-    @wc_path = File.join(@wc_base_dir, "wc")
+
+    @tmp_path = Dir.mktmpdir
+    @wc_path = File.join(@tmp_path, "wc")
     @full_wc_path = File.expand_path(@wc_path)
-    @tmp_path = "tmp"
+    @repos_path = File.join(@tmp_path, "repos")
+    @full_repos_path = File.expand_path(@repos_path)
+    @repos_uri = "file://#{@full_repos_path.sub(/^\/?/, '/')}"
+
     @config_path = "config"
     @greek = Greek.new(@tmp_path, @wc_path, @repos_uri)
   end
@@ -140,7 +142,7 @@ module SvnTestUtil
   end
 
   def teardown_wc
-    remove_recursively_with_retry(@wc_base_dir)
+    remove_recursively_with_retry(@wc_path)
   end
 
   def setup_config

Modified: subversion/branches/ev2-export/subversion/include/private/svn_auth_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_auth_private.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_auth_private.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_auth_private.h Tue Apr  3 13:32:48 2012
@@ -82,36 +82,45 @@ typedef svn_error_t * (*svn_auth__passwo
    svn_boolean_t non_interactive,
    apr_pool_t *pool);
 
-/* Common implementation for simple_first_creds and
-   windows_simple_first_creds. Uses PARAMETERS, REALMSTRING and the
-   simple auth provider's username and password cache to fill a set of
-   CREDENTIALS. PASSWORD_GET is used to obtain the password value.
-   PASSTYPE identifies the type of the cached password. CREDENTIALS are
-   allocated from POOL. */
-svn_error_t *
-svn_auth__simple_first_creds_helper(void **credentials,
-                                    void **iter_baton,
-                                    void *provider_baton,
-                                    apr_hash_t *parameters,
-                                    const char *realmstring,
-                                    svn_auth__password_get_t password_get,
-                                    const char *passtype,
-                                    apr_pool_t *pool);
-
-/* Common implementation for simple_save_creds and
-   windows_simple_save_creds. Uses PARAMETERS and REALMSTRING to save
-   a set of CREDENTIALS to the simple auth provider's username and
-   password cache. PASSWORD_SET is used to store the password.
-   PASSTYPE identifies the type of the cached password. Allocates from POOL. */
-svn_error_t *
-svn_auth__simple_save_creds_helper(svn_boolean_t *saved,
-                                   void *credentials,
-                                   void *provider_baton,
-                                   apr_hash_t *parameters,
-                                   const char *realmstring,
-                                   svn_auth__password_set_t password_set,
-                                   const char *passtype,
-                                   apr_pool_t *pool);
+/* Use PARAMETERS and REALMSTRING to set *CREDENTIALS to a set of
+   pre-cached authentication credentials pulled from the simple
+   credential cache store identified by PASSTYPE.  PASSWORD_GET is
+   used to obtain the password value.  Allocate *CREDENTIALS from
+   POOL.
+
+   NOTE:  This function is a common implementation of code used by
+   several of the simple credential providers (the default disk cache
+   mechanism, Windows CryptoAPI, GNOME Keyring, etc.), typically in
+   their "first_creds" implementation.  */
+svn_error_t *
+svn_auth__simple_creds_cache_get(void **credentials,
+                                 void **iter_baton,
+                                 void *provider_baton,
+                                 apr_hash_t *parameters,
+                                 const char *realmstring,
+                                 svn_auth__password_get_t password_get,
+                                 const char *passtype,
+                                 apr_pool_t *pool);
+
+/* Use PARAMETERS and REALMSTRING to save CREDENTIALS in the simple
+   credential cache store identified by PASSTYPE.  PASSWORD_SET is
+   used to do the actual storage.  Use POOL for necessary allocations.
+   Set *SAVED according to whether or not the credentials were
+   successfully stored.
+
+   NOTE:  This function is a common implementation of code used by
+   several of the simple credential providers (the default disk cache
+   mechanism, Windows CryptoAPI, GNOME Keyring, etc.) typically in
+   their "save_creds" implementation.  */
+svn_error_t *
+svn_auth__simple_creds_cache_set(svn_boolean_t *saved,
+                                 void *credentials,
+                                 void *provider_baton,
+                                 apr_hash_t *parameters,
+                                 const char *realmstring,
+                                 svn_auth__password_set_t password_set,
+                                 const char *passtype,
+                                 apr_pool_t *pool);
 
 /* Implementation of svn_auth__password_get_t that retrieves
    the plaintext password from CREDS when USERNAME matches the stored
@@ -139,39 +148,45 @@ svn_auth__simple_password_set(svn_boolea
                               apr_pool_t *pool);
 
 
-/* Common implementation for ssl_client_cert_pw_file_first_credentials.
-   Uses PARAMETERS, REALMSTRING and the ssl client passphrase auth provider's
-   passphrase cache to fill the CREDENTIALS. PASSPHRASE_GET is used to obtain
-   the passphrase value. PASSTYPE identifies the type of the cached passphrase.
-   CREDENTIALS are allocated from POOL. */
-svn_error_t *
-svn_auth__ssl_client_cert_pw_file_first_creds_helper
-  (void **credentials,
-   void **iter_baton,
-   void *provider_baton,
-   apr_hash_t *parameters,
-   const char *realmstring,
-   svn_auth__password_get_t passphrase_get,
-   const char *passtype,
-   apr_pool_t *pool);
-
-/* Common implementation for ssl_client_cert_pw_file_save_credentials and
-   windows_ssl_client_cert_pw_file_save_credentials. Uses PARAMETERS and
-   REALMSTRING to save a set of CREDENTIALS to the ssl client cert auth
-   provider's passphrase cache. PASSPHRASE_SET is used to store the
-   passphrase. PASSTYPE identifies the type of the cached passphrase.
-   Allocates from POOL. */
-svn_error_t *
-svn_auth__ssl_client_cert_pw_file_save_creds_helper
-  (svn_boolean_t *saved,
-   void *credentials,
-   void *provider_baton,
-   apr_hash_t *parameters,
-   const char *realmstring,
-   svn_auth__password_set_t passphrase_set,
-   const char *passtype,
-   apr_pool_t *pool);
-
+/* Use PARAMETERS and REALMSTRING to set *CREDENTIALS to a set of
+   pre-cached authentication credentials pulled from the SSL client
+   certificate passphrase credential cache store identified by
+   PASSTYPE.  PASSPHRASE_GET is used to obtain the passphrase value.
+   Allocate *CREDENTIALS from POOL.
+
+   NOTE:  This function is a common implementation of code used by
+   several of the ssl client passphrase credential providers (the
+   default disk cache mechanism, Windows CryptoAPI, GNOME Keyring,
+   etc.), typically in their "first_creds" implementation.  */
+svn_error_t *
+svn_auth__ssl_client_cert_pw_cache_get(void **credentials,
+                                       void **iter_baton,
+                                       void *provider_baton,
+                                       apr_hash_t *parameters,
+                                       const char *realmstring,
+                                       svn_auth__password_get_t passphrase_get,
+                                       const char *passtype,
+                                       apr_pool_t *pool);
+
+/* Use PARAMETERS and REALMSTRING to save CREDENTIALS in the SSL
+   client certificate passphrase credential cache store identified by
+   PASSTYPE.  PASSPHRASE_SET is used to do the actual storage.  Use
+   POOL for necessary allocations.  Set *SAVED according to whether or
+   not the credentials were successfully stored.
+
+   NOTE:  This function is a common implementation of code used by
+   several of the simple credential providers (the default disk cache
+   mechanism, Windows CryptoAPI, GNOME Keyring, etc.) typically in
+   their "save_creds" implementation.  */
+svn_error_t *
+svn_auth__ssl_client_cert_pw_cache_set(svn_boolean_t *saved,
+                                       void *credentials,
+                                       void *provider_baton,
+                                       apr_hash_t *parameters,
+                                       const char *realmstring,
+                                       svn_auth__password_set_t passphrase_set,
+                                       const char *passtype,
+                                       apr_pool_t *pool);
 
 /* This implements the svn_auth__password_get_t interface.
    Set **PASSPHRASE to the plaintext passphrase retrieved from CREDS;

Modified: subversion/branches/ev2-export/subversion/include/private/svn_cache.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_cache.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_cache.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_cache.h Tue Apr  3 13:32:48 2012
@@ -55,7 +55,7 @@ extern "C" {
  * i.e. modify @a data directly and return it in @a *out.
  */
 typedef svn_error_t *(*svn_cache__deserialize_func_t)(void **out,
-                                                      char *data,
+                                                      void *data,
                                                       apr_size_t data_len,
                                                       apr_pool_t *result_pool);
 
@@ -67,7 +67,7 @@ typedef svn_error_t *(*svn_cache__deseri
  * not require the whole structure to be processed.
  */
 typedef svn_error_t *(*svn_cache__partial_getter_func_t)(void **out,
-                                                         const char *data,
+                                                         const void *data,
                                                          apr_size_t data_len,
                                                          void *baton,
                                                          apr_pool_t *result_pool);
@@ -80,7 +80,7 @@ typedef svn_error_t *(*svn_cache__partia
  * values must be passed back in @a *data_len and @a *data, respectively.
  * Allocations will be done from @a result_pool.
  */
-typedef svn_error_t *(*svn_cache__partial_setter_func_t)(char **data,
+typedef svn_error_t *(*svn_cache__partial_setter_func_t)(void **data,
                                                          apr_size_t *data_len,
                                                          void *baton,
                                                          apr_pool_t *result_pool);
@@ -90,7 +90,7 @@ typedef svn_error_t *(*svn_cache__partia
  * function should allocate the serialized value in @a result_pool, set
  * @a *data to the serialized value, and set @a *data_len to its length.
  */
-typedef svn_error_t *(*svn_cache__serialize_func_t)(char **data,
+typedef svn_error_t *(*svn_cache__serialize_func_t)(void **data,
                                                     apr_size_t *data_len,
                                                     void *in,
                                                     apr_pool_t *result_pool);

Modified: subversion/branches/ev2-export/subversion/include/private/svn_client_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_client_private.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_client_private.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_client_private.h Tue Apr  3 13:32:48 2012
@@ -37,6 +37,30 @@ extern "C" {
 #endif /* __cplusplus */
 
 
+/* A location in a repository. */
+typedef struct svn_client__pathrev_t
+{
+  const char *repos_root_url;
+  const char *repos_uuid;
+  svn_revnum_t rev;
+  const char *url;
+} svn_client__pathrev_t;
+
+/* Return a new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of REPOS_ROOT_URL, REPOS_UUID, REV and URL. */
+svn_client__pathrev_t *
+svn_client__pathrev_create(const char *repos_root_url,
+                           const char *repos_uuid,
+                           svn_revnum_t rev,
+                           const char *url,
+                           apr_pool_t *result_pool);
+
+/* Return a deep copy of the path-rev LOC, allocated in RESULT_POOL. */
+svn_client__pathrev_t *
+svn_client__pathrev_dup(const svn_client__pathrev_t *loc,
+                        apr_pool_t *result_pool);
+
+
 /** Return @c SVN_ERR_ILLEGAL_TARGET if TARGETS contains a mixture of
  * URLs and paths; otherwise return SVN_NO_ERROR.
  *
@@ -82,6 +106,85 @@ svn_client__youngest_common_ancestor(con
                                      apr_pool_t *result_pool,
                                      apr_pool_t *scratch_pool);
 
+/* Set *REPOS_ROOT_URL_P, *REPOS_UUID_P, *REV and *URL to the origin of the
+ * WC node at WC_ABSPATH.  If the node is a local copy, give the copy-from
+ * location.  If the node is locally added or deleted, set *REV and *URL
+ * to SVN_INVALID_REVNUM and NULL respectively, but still give the correct
+ * repository root URL and UUID.
+ *
+ * Any outputs may be NULL if not wanted.
+ */
+svn_error_t *
+svn_client__wc_node_get_origin(const char **repos_root_url_p,
+                               const char **repos_uuid_p,
+                               svn_revnum_t *rev_p,
+                               const char **url_p,
+                               const char *wc_abspath,
+                               svn_client_ctx_t *ctx,
+                               apr_pool_t *result_pool,
+                               apr_pool_t *scratch_pool);
+
+/* A macro to mark sections of code that belong to the 'symmetric merge'
+ * feature while it's still new. */
+#ifdef SVN_DEBUG
+#define SVN_WITH_SYMMETRIC_MERGE
+#endif
+
+#ifdef SVN_WITH_SYMMETRIC_MERGE
+
+/* Details of a symmetric merge. */
+typedef struct svn_client__symmetric_merge_t svn_client__symmetric_merge_t;
+
+/* Find the information needed to merge all unmerged changes from a source
+ * branch into a target branch.  The information is the locations of the
+ * youngest common ancestor, merge base, and such like.
+ *
+ * Set *MERGE to the information needed to merge all unmerged changes
+ * (up to SOURCE_REVISION) from the source branch SOURCE_PATH_OR_URL @
+ * SOURCE_REVISION into the target WC at TARGET_WCPATH.
+ */
+svn_error_t *
+svn_client__find_symmetric_merge(svn_client__symmetric_merge_t **merge,
+                                 const char *source_path_or_url,
+                                 const svn_opt_revision_t *source_revision,
+                                 const char *target_wcpath,
+                                 svn_boolean_t allow_mixed_rev,
+                                 svn_boolean_t allow_local_mods,
+                                 svn_boolean_t allow_switched_subtrees,
+                                 svn_client_ctx_t *ctx,
+                                 apr_pool_t *result_pool,
+                                 apr_pool_t *scratch_pool);
+
+/* Perform a symmetric merge.
+ *
+ * Merge according to MERGE into the WC at TARGET_WCPATH.
+ *
+ * The other parameters are as in svn_client_merge4().  IGNORE_ANCESTRY
+ * only controls the diffing of files, it doesn't prevent mergeinfo from
+ * being used.
+ *
+ * ### TODO: There's little point in this function being the only way the
+ * caller can use the result of svn_client__find_symmetric_merge().  The
+ * contents of MERGE should be more public, or there should be other ways
+ * the caller can use it, or these two functions should be combined into
+ * one.  I want to make it more public, and also possibly have more ways
+ * to use it in future (for example, do_symmetric_merge_with_step_by_-
+ * step_confirmation).
+ */
+svn_error_t *
+svn_client__do_symmetric_merge(const svn_client__symmetric_merge_t *merge,
+                               const char *target_wcpath,
+                               svn_depth_t depth,
+                               svn_boolean_t ignore_ancestry,
+                               svn_boolean_t force,
+                               svn_boolean_t record_only,
+                               svn_boolean_t dry_run,
+                               const apr_array_header_t *merge_options,
+                               svn_client_ctx_t *ctx,
+                               apr_pool_t *scratch_pool);
+
+#endif /* SVN_WITH_SYMMETRIC_MERGE */
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/ev2-export/subversion/include/private/svn_mergeinfo_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_mergeinfo_private.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_mergeinfo_private.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_mergeinfo_private.h Tue Apr  3 13:32:48 2012
@@ -99,9 +99,10 @@ svn_mergeinfo__remove_empty_rangelists(s
 
 /* Make a shallow (ie, mergeinfos are not duped, or altered at all;
    keys share storage) copy of IN_CATALOG in *OUT_CATALOG, removing
-   PREFIX_PATH (which is an absolute path) from the beginning of each
-   key in the catalog (each of which is also an absolute path).  It is
-   illegal for any key to not start with PREFIX_PATH.  The new hash
+   PREFIX_PATH from the beginning of each key in the catalog.
+   PREFIX_PATH and the keys of IN_CATALOG are absolute 'fspaths',
+   starting with '/'.  It is illegal for any key to not start with
+   PREFIX_PATH.  The keys of *OUT_CATALOG are relpaths.  The new hash
    and temporary values are allocated in POOL.  (This is useful for
    making the return value from svn_ra_get_mergeinfo relative to the
    session root, say.) */

Modified: subversion/branches/ev2-export/subversion/include/private/svn_mutex.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_mutex.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_mutex.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_mutex.h Tue Apr  3 13:32:48 2012
@@ -103,13 +103,11 @@ svn_mutex__unlock(svn_mutex__t *mutex,
  * @note Prefer using this macro instead of explicit lock aquisition and
  * release.
  */
-#define SVN_MUTEX__WITH_LOCK(mutex, expr) \
-do {                                      \
-  svn_mutex__t *m = (mutex);              \
-  svn_error_t *e = svn_mutex__lock(m);    \
-  if (e) return svn_error_trace(e);       \
-  e = svn_mutex__unlock(m, (expr));       \
-  if (e) return svn_error_trace(e);       \
+#define SVN_MUTEX__WITH_LOCK(mutex, expr)               \
+do {                                                    \
+  svn_mutex__t *svn_mutex__m = (mutex);                 \
+  SVN_ERR(svn_mutex__lock(svn_mutex__m));               \
+  SVN_ERR(svn_mutex__unlock(svn_mutex__m, (expr)));     \
 } while (0)
 
 #ifdef __cplusplus

Modified: subversion/branches/ev2-export/subversion/include/private/svn_wc_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/private/svn_wc_private.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/private/svn_wc_private.h (original)
+++ subversion/branches/ev2-export/subversion/include/private/svn_wc_private.h Tue Apr  3 13:32:48 2012
@@ -477,8 +477,9 @@ svn_wc__node_get_url(const char **url,
 
 /**
  * Retrieves the origin of the node as it is known in the repository. For
- * added nodes this retrieves where the node is copied from, and the repository
- * location for other nodes.
+ * a copied node this retrieves where the node is copied from, for an added
+ * node this returns NULL/INVALID outputs, and for any other node this
+ * retrieves the repository location.
  *
  * All output arguments may be NULL.
  *
@@ -837,7 +838,7 @@ svn_wc__call_with_write_lock(svn_wc__wit
     SVN_ERR(svn_wc__acquire_write_lock(&svn_wc__lock_root_abspath, wc_ctx,    \
                                        local_abspath, lock_anchor,            \
                                        scratch_pool, scratch_pool));          \
-    svn_wc__err1 = svn_error_trace(expr);                                     \
+    svn_wc__err1 = (expr);                                                    \
     svn_wc__err2 = svn_wc__release_write_lock(                                \
                      wc_ctx, svn_wc__lock_root_abspath, scratch_pool);        \
     SVN_ERR(svn_error_compose_create(svn_wc__err1, svn_wc__err2));            \

Modified: subversion/branches/ev2-export/subversion/include/svn_client.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_client.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_client.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_client.h Tue Apr  3 13:32:48 2012
@@ -1768,6 +1768,30 @@ svn_client_delete(svn_client_commit_info
  * @{
  */
 
+/**
+ * The callback invoked by svn_client_import5() before adding a node to the
+ * list of nodes to be imported.
+ *
+ * @a baton is the value passed to @a svn_client_import5 as filter_baton.
+ *
+ * The callback receives the @a local_abspath for each node and the @a dirent
+ * for it when walking the directory tree. Only the kind of node, including
+ * special status is available in @a dirent.
+ *
+ * Implementations can set @a *filtered to TRUE, to make the import filter the
+ * node and (if the node is a directory) all its descendants.
+ *
+ * @a scratch_pool can be used for temporary allocations.
+ *
+ * @since New in 1.8.
+ */
+typedef svn_error_t *(*svn_client_import_filter_func_t)(
+  void *baton,
+  svn_boolean_t *filtered,
+  const char *local_abspath,
+  const svn_io_dirent2_t *dirent,
+  apr_pool_t *scratch_pool);
+
 /** Import file or directory @a path into repository directory @a url at
  * head, authenticating with the authentication baton cached in @a ctx,
  * and using @a ctx->log_msg_func3/@a ctx->log_msg_baton3 to get a log message
@@ -1823,12 +1847,38 @@ svn_client_delete(svn_client_commit_info
  * If @a ignore_unknown_node_types is @c FALSE, ignore files of which the
  * node type is unknown, such as device files and pipes.
  *
+ * If @a filter_callback is non-NULL, call it for each node that isn't ignored
+ * for other reasons with @a filter_baton, to allow third party to ignore
+ * specific nodes during importing.
+ *
  * If @a commit_callback is non-NULL, then for each successful commit, call
  * @a commit_callback with @a commit_baton and a #svn_commit_info_t for
  * the commit.
  *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_client_import5(const char *path,
+                   const char *url,
+                   svn_depth_t depth,
+                   svn_boolean_t no_ignore,
+                   svn_boolean_t ignore_unknown_node_types,
+                   const apr_hash_t *revprop_table,
+                   svn_client_import_filter_func_t filter_callback,
+                   void *filter_baton,
+                   svn_commit_callback2_t commit_callback,
+                   void *commit_baton,
+                   svn_client_ctx_t *ctx,
+                   apr_pool_t *scratch_pool);
+
+/**
+ * Similar to svn_client_import5(), but without support for an optional
+ * @a filter_callback.
+ *
  * @since New in 1.7.
+ * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_error_t *
 svn_client_import4(const char *path,
                    const char *url,

Modified: subversion/branches/ev2-export/subversion/include/svn_delta.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_delta.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_delta.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_delta.h Tue Apr  3 13:32:48 2012
@@ -1347,6 +1347,8 @@ typedef svn_error_t *(*svn_delta_path_dr
  * Use @a revision as the revision number passed to intermediate
  * directory openings.
  *
+ * Each path in @a paths is a const char *.
+ *
  * Use @a pool for all necessary allocations.
  */
 svn_error_t *

Modified: subversion/branches/ev2-export/subversion/include/svn_diff.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_diff.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_diff.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_diff.h Tue Apr  3 13:32:48 2012
@@ -1045,7 +1045,7 @@ typedef struct svn_patch_t {
   const char *new_filename;
 
   /**
-   * An array containing an svn_diff_hunk_t object for each hunk parsed
+   * An array containing an svn_diff_hunk_t * for each hunk parsed
    * from the patch. */
   apr_array_header_t *hunks;
 

Modified: subversion/branches/ev2-export/subversion/include/svn_editor.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_editor.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_editor.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_editor.h Tue Apr  3 13:32:48 2012
@@ -153,6 +153,13 @@ extern "C" {
  * "should", "should not", "recommended", "may", and "optional" in this
  * document are to be interpreted as described in RFC 2119.
  *
+ * @note The editor is *not* reentrant. The receiver should not directly
+ * or indirectly invoke an editor API unless it has been marked as
+ * explicitly supporting reentrancy during a receiver's callback. This
+ * limitation extends to the cancellation callback, too. (This limitation
+ * is due to the scratch_pool shared by all callbacks, and cleared after
+ * each callback; a reentrant call could clear the outer call's pool)
+ *
  * \n
  * <h3>Life-Cycle</h3>
  *

Modified: subversion/branches/ev2-export/subversion/include/svn_props.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_props.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_props.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_props.h Tue Apr  3 13:32:48 2012
@@ -150,10 +150,20 @@ typedef enum svn_prop_kind
   svn_prop_regular_kind
 } svn_prop_kind_t;
 
+/** Return the property kind of a property named @a prop_name.
+ *
+ * @since New in 1.8
+ */
+svn_prop_kind_t
+svn_property_kind2(const char *prop_name);
+
 /** Return the prop kind of a property named @a prop_name, and
  * (if @a prefix_len is non-@c NULL) set @a *prefix_len to the length of
  * the prefix of @a prop_name that was sufficient to distinguish its kind.
+ *
+ * @deprecated Provided for backward compatibility with the 1.7 API.
  */
+SVN_DEPRECATED
 svn_prop_kind_t
 svn_property_kind(int *prefix_len,
                   const char *prop_name);

Modified: subversion/branches/ev2-export/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_repos.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_repos.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_repos.h Tue Apr  3 13:32:48 2012
@@ -1780,6 +1780,8 @@ svn_repos_get_logs(svn_repos_t *repos,
  * set @a *catalog to a catalog of this mergeinfo.  @a *catalog will
  * never be @c NULL but may be empty.
  *
+ * The paths in @a paths, and the keys of @a catalog, start with '/'.
+ *
  * @a inherit indicates whether explicit, explicit or inherited, or
  * only inherited mergeinfo for @a paths is fetched.
  *

Modified: subversion/branches/ev2-export/subversion/include/svn_sorts.h
URL: http://svn.apache.org/viewvc/subversion/branches/ev2-export/subversion/include/svn_sorts.h?rev=1308894&r1=1308893&r2=1308894&view=diff
==============================================================================
--- subversion/branches/ev2-export/subversion/include/svn_sorts.h (original)
+++ subversion/branches/ev2-export/subversion/include/svn_sorts.h Tue Apr  3 13:32:48 2012
@@ -112,9 +112,9 @@ svn_sort_compare_revisions(const void *a
 
 
 /**
- * Compare two @c const char * paths, returning an integer greater
- * than, equal to, or less than 0, using the same comparison rules as
- * are used by svn_path_compare_paths().
+ * Compare two @c const char * paths, @a *a and @a *b, returning an
+ * integer greater than, equal to, or less than 0, using the same
+ * comparison rules as are used by svn_path_compare_paths().
  *
  * This function is compatible for use with qsort().
  *
@@ -125,13 +125,13 @@ svn_sort_compare_paths(const void *a,
                        const void *b);
 
 /**
- * Compare two @c svn_merge_range_t *'s, returning an integer greater
- * than, equal to, or less than 0 if the first range is greater than,
- * equal to, or less than, the second range.
+ * Compare two @c svn_merge_range_t *'s, @a *a and @a *b, returning an
+ * integer greater than, equal to, or less than 0 if the first range is
+ * greater than, equal to, or less than, the second range.
  *
  * Both @c svn_merge_range_t *'s must describe forward merge ranges.
  *
- * If @a a and @a b intersect then the range with the lower start revision
+ * If @a *a and @a *b intersect then the range with the lower start revision
  * is considered the lesser range.  If the ranges' start revisions are
  * equal then the range with the lower end revision is considered the
  * lesser range.