Author: cmpilato
Date: Tue Apr  3 19:16:59 2012
New Revision: 1309099

URL: http://svn.apache.org/viewvc?rev=1309099&view=rev
Log:
Sync the 'master-passphrase' branch with changes from
^/subversion/trunk:r1303884-1309097.

Added:
    subversion/branches/master-passphrase/subversion/libsvn_subr/crypto.c
      - copied unchanged from r1309097, 
subversion/trunk/subversion/libsvn_subr/crypto.c
    subversion/branches/master-passphrase/subversion/libsvn_subr/crypto.h
      - copied unchanged from r1309097, 
subversion/trunk/subversion/libsvn_subr/crypto.h
    
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/crypto-test.c
      - copied unchanged from r1309097, 
subversion/trunk/subversion/tests/libsvn_subr/crypto-test.c
    subversion/branches/master-passphrase/tools/dev/aprerr.txt
      - copied unchanged from r1309097, subversion/trunk/tools/dev/aprerr.txt
    subversion/branches/master-passphrase/tools/dist/make-deps-tarball.sh   
(props changed)
      - copied unchanged from r1309097, 
subversion/trunk/tools/dist/make-deps-tarball.sh
Modified:
    subversion/branches/master-passphrase/   (props changed)
    subversion/branches/master-passphrase/CHANGES
    subversion/branches/master-passphrase/Makefile.in
    subversion/branches/master-passphrase/build.conf
    subversion/branches/master-passphrase/build/generator/gen_make.py
    subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
    subversion/branches/master-passphrase/build/run_tests.py
    subversion/branches/master-passphrase/configure.ac
    
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
    subversion/branches/master-passphrase/subversion/include/private/svn_cache.h
    
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
    subversion/branches/master-passphrase/subversion/include/svn_delta.h
    subversion/branches/master-passphrase/subversion/include/svn_diff.h
    subversion/branches/master-passphrase/subversion/include/svn_sorts.h
    subversion/branches/master-passphrase/subversion/include/svn_string.h
    subversion/branches/master-passphrase/subversion/libsvn_client/client.h
    subversion/branches/master-passphrase/subversion/libsvn_client/commit.c
    subversion/branches/master-passphrase/subversion/libsvn_client/copy.c
    subversion/branches/master-passphrase/subversion/libsvn_client/merge.c
    subversion/branches/master-passphrase/subversion/libsvn_client/ra.c
    subversion/branches/master-passphrase/subversion/libsvn_client/switch.c
    subversion/branches/master-passphrase/subversion/libsvn_client/util.c
    subversion/branches/master-passphrase/subversion/libsvn_delta/compat.c
    subversion/branches/master-passphrase/subversion/libsvn_delta/xdelta.c
    subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.h
    subversion/branches/master-passphrase/subversion/libsvn_fs_fs/dag.c
    subversion/branches/master-passphrase/subversion/libsvn_fs_fs/dag.h
    subversion/branches/master-passphrase/subversion/libsvn_fs_fs/fs_fs.c
    
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/temp_serializer.c
    
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/temp_serializer.h
    subversion/branches/master-passphrase/subversion/libsvn_fs_fs/tree.c
    subversion/branches/master-passphrase/subversion/libsvn_fs_fs/tree.h
    subversion/branches/master-passphrase/subversion/libsvn_ra_serf/sb_bucket.c
    subversion/branches/master-passphrase/subversion/libsvn_ra_serf/util.c
    subversion/branches/master-passphrase/subversion/libsvn_ra_svn/client.c
    subversion/branches/master-passphrase/subversion/libsvn_repos/dump.c
    subversion/branches/master-passphrase/subversion/libsvn_repos/hooks.c
    
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-inprocess.c
    
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-membuffer.c
    
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-memcache.c
    subversion/branches/master-passphrase/subversion/libsvn_subr/checksum.c
    subversion/branches/master-passphrase/subversion/libsvn_subr/spillbuf.c
    subversion/branches/master-passphrase/subversion/libsvn_subr/svn_string.c
    subversion/branches/master-passphrase/subversion/libsvn_wc/wc_db.c
    subversion/branches/master-passphrase/subversion/libsvn_wc/wc_db_util.c
    subversion/branches/master-passphrase/subversion/mod_dav_svn/mod_dav_svn.c
    subversion/branches/master-passphrase/subversion/po/fr.po
    subversion/branches/master-passphrase/subversion/po/ja.po
    subversion/branches/master-passphrase/subversion/svnrdump/load_editor.c
    subversion/branches/master-passphrase/subversion/svnserve/serve.c
    subversion/branches/master-passphrase/subversion/svnsync/main.c
    subversion/branches/master-passphrase/subversion/tests/cmdline/copy_tests.py
    
subversion/branches/master-passphrase/subversion/tests/cmdline/davautocheck.sh
    subversion/branches/master-passphrase/subversion/tests/cmdline/log_tests.py
    
subversion/branches/master-passphrase/subversion/tests/cmdline/merge_tests.py
    
subversion/branches/master-passphrase/subversion/tests/cmdline/svnadmin_tests.py
    
subversion/branches/master-passphrase/subversion/tests/cmdline/svntest/sandbox.py
    
subversion/branches/master-passphrase/subversion/tests/libsvn_client/client-test.c
    
subversion/branches/master-passphrase/subversion/tests/libsvn_delta/random-test.c
    subversion/branches/master-passphrase/subversion/tests/libsvn_subr/   
(props changed)
    
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/cache-test.c
    
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/spillbuf-test.c
    
subversion/branches/master-passphrase/subversion/tests/libsvn_wc/op-depth-test.c
    
subversion/branches/master-passphrase/tools/buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd
    subversion/branches/master-passphrase/tools/client-side/svnmucc/svnmucc.c
    subversion/branches/master-passphrase/tools/dev/gdb-py/svndbg/printers.py
    subversion/branches/master-passphrase/tools/dev/unix-build/Makefile.svn
    subversion/branches/master-passphrase/tools/dev/which-error.py
    subversion/branches/master-passphrase/tools/dist/dist.sh
    subversion/branches/master-passphrase/tools/dist/release.py
    
subversion/branches/master-passphrase/tools/server-side/mod_dontdothat/mod_dontdothat.c

Propchange: subversion/branches/master-passphrase/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1303884-1309097
  Merged /subversion/branches/node_pool:r1304828-1305388

Modified: subversion/branches/master-passphrase/CHANGES
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/CHANGES?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/CHANGES (original)
+++ subversion/branches/master-passphrase/CHANGES Tue Apr  3 19:16:59 2012
@@ -385,7 +385,7 @@ the 1.6 release:  http://subversion.apac
 
 
 Version 1.6.18
-(?? Mar 2012, from /branches/1.6.x)
+(29 Mar 2012, from /branches/1.6.x)
 http://svn.apache.org/repos/asf/subversion/tags/1.6.18
 
   User-visible changes:

Modified: subversion/branches/master-passphrase/Makefile.in
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/Makefile.in?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/Makefile.in (original)
+++ subversion/branches/master-passphrase/Makefile.in Tue Apr  3 19:16:59 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)
 

Modified: subversion/branches/master-passphrase/build.conf
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build.conf?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build.conf (original)
+++ subversion/branches/master-passphrase/build.conf Tue Apr  3 19:16:59 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/master-passphrase/build/generator/gen_make.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/gen_make.py?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/gen_make.py (original)
+++ subversion/branches/master-passphrase/build/generator/gen_make.py Tue Apr  
3 19:16:59 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/[email protected]
+        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/master-passphrase/build/generator/templates/makefile.ezt
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/templates/makefile.ezt?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- 
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt 
(original)
+++ 
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt 
Tue Apr  3 19:16:59 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/master-passphrase/build/run_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/run_tests.py?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/run_tests.py (original)
+++ subversion/branches/master-passphrase/build/run_tests.py Tue Apr  3 
19:16:59 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/master-passphrase/configure.ac
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/configure.ac?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/configure.ac (original)
+++ subversion/branches/master-passphrase/configure.ac Tue Apr  3 19:16:59 2012
@@ -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/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- 
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
 (original)
+++ 
subversion/branches/master-passphrase/subversion/bindings/swig/perl/native/t/3client.t
 Tue Apr  3 19:16:59 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/master-passphrase/subversion/include/private/svn_cache.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_cache.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- 
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h 
(original)
+++ 
subversion/branches/master-passphrase/subversion/include/private/svn_cache.h 
Tue Apr  3 19:16:59 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/master-passphrase/subversion/include/private/svn_client_private.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- 
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
 (original)
+++ 
subversion/branches/master-passphrase/subversion/include/private/svn_client_private.h
 Tue Apr  3 19:16:59 2012
@@ -29,6 +29,7 @@
 
 #include <apr_pools.h>
 
+#include "svn_ra.h"
 #include "svn_client.h"
 #include "svn_types.h"
 
@@ -37,6 +38,55 @@ 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 new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of REPOS_ROOT_URL, REPOS_UUID, and REV,
+ * and using the repository-relative RELPATH to construct the URL. */
+svn_client__pathrev_t *
+svn_client__pathrev_create_with_relpath(const char *repos_root_url,
+                                        const char *repos_uuid,
+                                        svn_revnum_t rev,
+                                        const char *relpath,
+                                        apr_pool_t *result_pool);
+
+/* Set *PATHREV_P to a new path-rev structure, allocated in RESULT_POOL,
+ * initialized with deep copies of the repository root URL and UUID from
+ * RA_SESSION, and of REV and URL. */
+svn_error_t *
+svn_client__pathrev_create_with_session(svn_client__pathrev_t **pathrev_p,
+                                        svn_ra_session_t *ra_session,
+                                        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 the repository-relative relpath of PATHREV. */
+const char *
+svn_client__pathrev_relpath(const svn_client__pathrev_t *pathrev,
+                            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.
  *

Modified: subversion/branches/master-passphrase/subversion/include/svn_delta.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_delta.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_delta.h 
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_delta.h Tue 
Apr  3 19:16:59 2012
@@ -1292,6 +1292,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/master-passphrase/subversion/include/svn_diff.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_diff.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_diff.h 
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_diff.h Tue Apr 
 3 19:16:59 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/master-passphrase/subversion/include/svn_sorts.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_sorts.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_sorts.h 
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_sorts.h Tue 
Apr  3 19:16:59 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.

Modified: subversion/branches/master-passphrase/subversion/include/svn_string.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_string.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_string.h 
(original)
+++ subversion/branches/master-passphrase/subversion/include/svn_string.h Tue 
Apr  3 19:16:59 2012
@@ -235,10 +235,12 @@ svn_stringbuf_t *
 svn_stringbuf_createv(apr_pool_t *pool, const char *fmt, va_list ap)
   __attribute__((format(printf, 2, 0)));
 
-/** Make sure that the string @a str has at least @a minimum_size bytes of
- * space available in the memory block.
+/** Make sure that the string @a str has allocated at least enough space
+ * to hold a string of length @a minimum_size bytes (as well as the
+ * terminating null character).
  *
- * (@a minimum_size should include space for the terminating NULL character.)
+ * @note: Before Subversion 1.8, the caller was supposed to include one
+ * byte for the null terminator in the value of @a minimum_size.
  */
 void
 svn_stringbuf_ensure(svn_stringbuf_t *str, apr_size_t minimum_size);

Modified: 
subversion/branches/master-passphrase/subversion/libsvn_client/client.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/client.h?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/client.h 
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/client.h Tue 
Apr  3 19:16:59 2012
@@ -36,6 +36,7 @@
 #include "svn_client.h"
 
 #include "private/svn_magic.h"
+#include "private/svn_client_private.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -146,16 +147,15 @@ svn_client__repos_locations(const char *
 /* Trace a line of history of a particular versioned resource back to a
  * specific revision.
  *
- * Set *OP_URL to the URL that the object PEG_URL@PEG_REVNUM had in
+ * Set *OP_LOC_P to the location that the object PEG_LOC had in
  * revision OP_REVNUM.
  *
  * RA_SESSION is an open RA session to the correct repository; it may be
  * temporarily reparented inside this function. */
 svn_error_t *
-svn_client__repos_location(const char **start_url,
+svn_client__repos_location(svn_client__pathrev_t **op_loc_p,
                            svn_ra_session_t *ra_session,
-                           const char *peg_url,
-                           svn_revnum_t peg_revnum,
+                           const svn_client__pathrev_t *peg_loc,
                            svn_revnum_t op_revnum,
                            svn_client_ctx_t *ctx,
                            apr_pool_t *result_pool,
@@ -194,13 +194,9 @@ svn_client__repos_location_segments(apr_
    Ancestry is determined by the 'copy-from' relationship and the normal
    successor relationship.
 
-   Set *ANCESTOR_RELPATH, *ANCESTOR_URL, and *ANCESTOR_REVISION to the
-   path (relative to the root of the repository, with no leading '/'),
-   URL, and revision, respectively, of the youngest common ancestor of
-   the two locations URL1@REV1 and URL2@REV2.  Set *ANCESTOR_RELPATH and
-   *ANCESTOR_URL to NULL and *ANCESTOR_REVISION to SVN_INVALID_REVNUM if
-   they have no common ancestor.  This function assumes that URL1@REV1
-   and URL2@REV2 both refer to the same repository.
+   Set *ANCESTOR_P to the location of the youngest common ancestor of
+   LOC1 and LOC2.  If the locations have no common ancestor (including if
+   they don't have the same repository root URL), set *ANCESTOR_P to NULL.
 
    Use the authentication baton cached in CTX to authenticate against
    the repository.  Use POOL for all allocations.
@@ -208,15 +204,12 @@ svn_client__repos_location_segments(apr_
    See also svn_client__youngest_common_ancestor().
 */
 svn_error_t *
-svn_client__get_youngest_common_ancestor(const char **ancestor_relpath,
-                                         const char **ancestor_url,
-                                         svn_revnum_t *ancestor_revision,
-                                         const char *url1,
-                                         svn_revnum_t rev1,
-                                         const char *url2,
-                                         svn_revnum_t rev2,
+svn_client__get_youngest_common_ancestor(svn_client__pathrev_t **ancestor_p,
+                                         const svn_client__pathrev_t *loc1,
+                                         const svn_client__pathrev_t *loc2,
                                          svn_client_ctx_t *ctx,
-                                         apr_pool_t *pool);
+                                         apr_pool_t *result_pool,
+                                         apr_pool_t *scratch_pool);
 
 /* Given PATH_OR_URL, which contains either a working copy path or an
    absolute URL, a peg revision PEG_REVISION, and a desired revision
@@ -253,6 +246,19 @@ svn_client__ra_session_from_path(svn_ra_
                                  svn_client_ctx_t *ctx,
                                  apr_pool_t *pool);
 
+/* Like svn_client__ra_session_from_path() but returning a path-rev
+ * instead of separate URL and rev outputs.  RESOLVED_LOC_P may be NULL
+ * if not wanted. */
+svn_error_t *
+svn_client__ra_session_from_path2(svn_ra_session_t **ra_session_p,
+                                 svn_client__pathrev_t **resolved_loc_p,
+                                 const char *path_or_url,
+                                 const char *base_dir_abspath,
+                                 const svn_opt_revision_t *peg_revision,
+                                 const svn_opt_revision_t *revision,
+                                 svn_client_ctx_t *ctx,
+                                 apr_pool_t *pool);
+
 /* Ensure that RA_SESSION's session URL matches SESSION_URL,
    reparenting that session if necessary.
    Store the previous session URL in *OLD_SESSION_URL (so that if the
@@ -842,7 +848,7 @@ svn_client__get_copy_committables(svn_cl
                                   apr_pool_t *scratch_pool);
 
 /* A qsort()-compatible sort routine for sorting an array of
-   svn_client_commit_item_t's by their URL member. */
+   svn_client_commit_item_t *'s by their URL member. */
 int svn_client__sort_commit_item_urls(const void *a, const void *b);
 
 

Modified: 
subversion/branches/master-passphrase/subversion/libsvn_client/commit.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/commit.c?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/commit.c 
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/commit.c Tue 
Apr  3 19:16:59 2012
@@ -697,7 +697,7 @@ get_ra_editor(svn_ra_session_t **ra_sess
   SVN_ERR(svn_client__ensure_revprop_table(&commit_revprops, revprop_table,
                                            log_msg, ctx, pool));
 
-#ifdef ENABLE_EDITOR_SHIMS
+#ifdef ENABLE_EV2_SHIMS
   /* We need this for the shims. */
   if (base_dir_abspath)
     {

Modified: subversion/branches/master-passphrase/subversion/libsvn_client/copy.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/copy.c?rev=1309099&r1=1309098&r2=1309099&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/copy.c 
(original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/copy.c Tue 
Apr  3 19:16:59 2012
@@ -495,6 +495,16 @@ verify_wc_srcs_and_dsts(const apr_array_
           SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
                                                  TRUE, ctx, iterpool));
         }
+      else if (make_parents && dst_parent_kind == svn_node_dir)
+        {
+          /* Check if parent is already versioned */
+          SVN_ERR(svn_wc_read_kind(&dst_parent_kind, ctx->wc_ctx,
+                                   pair->dst_parent_abspath, FALSE, iterpool));
+
+          if (dst_parent_kind == svn_node_none)
+            SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
+                                                   TRUE, ctx, iterpool));
+        }
       else if (dst_parent_kind != svn_node_dir)
         {
           return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,


Reply via email to