You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gb...@apache.org on 2013/10/24 17:11:08 UTC
svn commit: r1535404 [1/3] - in
/subversion/branches/invoke-diff-cmd-feature: ./ build/generator/
notes/http-and-webdav/ subversion/bindings/javahl/native/
subversion/bindings/javahl/src/org/apache/subversion/javahl/types/
subversion/bindings/swig/ruby...
Author: gbg
Date: Thu Oct 24 15:11:06 2013
New Revision: 1535404
URL: http://svn.apache.org/r1535404
Log:
On the invoke-diff-cmd-feature branch: trunk revision 1535399 merged into branch revision 1533871.
Modified:
subversion/branches/invoke-diff-cmd-feature/ (props changed)
subversion/branches/invoke-diff-cmd-feature/CHANGES
subversion/branches/invoke-diff-cmd-feature/Makefile.in
subversion/branches/invoke-diff-cmd-feature/build.conf
subversion/branches/invoke-diff-cmd-feature/build/generator/gen_win_dependencies.py
subversion/branches/invoke-diff-cmd-feature/configure.ac
subversion/branches/invoke-diff-cmd-feature/gen-make.py
subversion/branches/invoke-diff-cmd-feature/notes/http-and-webdav/webdav-protocol
subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/JNIUtil.cpp
subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/OperationContext.cpp
subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java
subversion/branches/invoke-diff-cmd-feature/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_auth_private.h
subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_dep_compat.h
subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_utf_private.h
subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_fs.h
subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_ra.h
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/merge.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/mergeinfo.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_delta/compat.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/editor.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/fs-loader.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/caching.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/lock.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/transaction.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/util.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/ (props changed)
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/changes.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/index.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/lock.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/noderevs.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/transaction.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/util.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/commit.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/log.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util_error.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/deprecated.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/marshal.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/commit.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/log.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/auth.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/cmdline.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/config.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/config_file.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/config_win.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/dirent_uri.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/error.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/io.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/named_atomic.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/nls.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/sysinfo.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/utf.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/win32_crypto.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_subr/win32_xlate.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_wc/adm_files.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_wc/upgrade.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_wc/wc_db.c
subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_wc/wc_db_pristine.c
subversion/branches/invoke-diff-cmd-feature/subversion/mod_authz_svn/mod_authz_svn.c
subversion/branches/invoke-diff-cmd-feature/subversion/mod_dav_svn/authz.c
subversion/branches/invoke-diff-cmd-feature/subversion/mod_dav_svn/merge.c
subversion/branches/invoke-diff-cmd-feature/subversion/mod_dav_svn/reports/log.c
subversion/branches/invoke-diff-cmd-feature/subversion/mod_dav_svn/repos.c
subversion/branches/invoke-diff-cmd-feature/subversion/svn/info-cmd.c
subversion/branches/invoke-diff-cmd-feature/subversion/svnauth/svnauth.c
subversion/branches/invoke-diff-cmd-feature/subversion/svnserve/serve.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/cmdline/entries-dump.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/cmdline/log_tests.py
subversion/branches/invoke-diff-cmd-feature/subversion/tests/cmdline/svntest/main.py
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_client/client-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_fs_x/ (props changed)
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_fs_x/fs-x-pack-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_subr/auth-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_subr/dirent_uri-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_subr/path-test.c
subversion/branches/invoke-diff-cmd-feature/subversion/tests/libsvn_wc/entries-compat.c
subversion/branches/invoke-diff-cmd-feature/tools/dev/fsfs-reorg.c
subversion/branches/invoke-diff-cmd-feature/tools/server-side/fsfs-stats.c
subversion/branches/invoke-diff-cmd-feature/tools/server-side/svn-populate-node-origins-index.c
subversion/branches/invoke-diff-cmd-feature/tools/server-side/svn-rep-sharing-stats.c
Propchange: subversion/branches/invoke-diff-cmd-feature/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1533867-1535403
Modified: subversion/branches/invoke-diff-cmd-feature/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/CHANGES?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/CHANGES (original)
+++ subversion/branches/invoke-diff-cmd-feature/CHANGES Thu Oct 24 15:11:06 2013
@@ -26,6 +26,43 @@ http://svn.apache.org/repos/asf/subversi
- Bindings:
+Version 1.8.4
+(29 October 2013, from /branches/1.8.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.8.4
+
+ User-visible changes:
+ - Client- and server-side bugfixes:
+ * fix assertion on urls of the form 'file://./' (r1516806)
+ * stop linking against psapi.dll on Windows (r1534102)
+ * translation updates for Swedish
+
+ - Client-side bugfixes:
+ * revert: fix problems reverting moves (issue #4436)
+ * update: fix assertion when file external access is denied (issue #4422)
+ * merge: reduce network connections for automatic merge (r1468980 et al)
+ * merge: fix path corruption during reintegration (r1523666)
+ * mergeinfo: fix crash (r1519955)
+ * ra_serf: verify the result of xml parsing (r1501199 et al)
+ * ra_serf: improve error messages during commit (r1526439)
+ * ra_local: fix error with repository in Windows drive root (r1518184)
+ * fix crash on windows when piped command is interrupted (r1522892)
+ * fix crash in the crash handler on windows (r1532023)
+ * fix assertion when upgrading old working copies (r1520529)
+
+ - Server-side bugfixes:
+ * hotcopy: cleanup unpacked revprops with '--incremental' (r1512300 et al)
+ * fix OOM on concurrent requests at threaded server start (r1527103 et al)
+ * fsfs: improve error message when unsupported fsfs format found (r1534158)
+ * fix memory problem in 3rd party FS module loader (r1519615 et al)
+
+ Developer-visible changes:
+ - General:
+ * allow compiling against serf 1.3 and later on Windows (r1517123)
+
+ - Bindings:
+ * javahl: canonicalize path for streamFileContent method (r1524869)
+
+
Version 1.8.3
(29 August 2013, from /branches/1.8.x)
http://svn.apache.org/repos/asf/subversion/tags/1.8.3
Modified: subversion/branches/invoke-diff-cmd-feature/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/Makefile.in?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/Makefile.in (original)
+++ subversion/branches/invoke-diff-cmd-feature/Makefile.in Thu Oct 24 15:11:06 2013
@@ -205,6 +205,19 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
COMPILE_JAVAHL_JAVAH = $(JAVAH)
+# export an env variable so that the tests can run without being installed
+TEST_SHLIB_VAR_JAVAHL=\
+ if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
+ for d in $(abs_builddir)/subversion/libsvn_*; do \
+ if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
+ @SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
+ else \
+ @SVN_APR_SHLIB_PATH_VAR@="$$d/.libs"; \
+ fi; \
+ done; \
+ export @SVN_APR_SHLIB_PATH_VAR@; \
+ fi;
+
# special compilation for files destined for cxxhl
COMPILE_CXXHL_CXX = $(LT_COMPILE_CXX) $(CXXHL_INCLUDES) -o $@ -c
COMPILE_GMOCK_CXX = $(LT_COMPILE_CXX_NOWARN) $(GMOCK_INCLUDES) -o $@ -c
@@ -340,7 +353,7 @@ INSTALL_EXTRA_SWIG_RB=\
# export an env variable so that the tests can run without being installed
TEST_SHLIB_VAR_SWIG_RB=\
if [ "@SVN_APR_SHLIB_PATH_VAR@" = "DYLD_LIBRARY_PATH" ]; then \
- for d in $(SWIG_PY_DIR)/libsvn_swig_rb $(SWIG_PY_DIR)/../../../libsvn_*; do \
+ for d in $(SWIG_RB_DIR)/libsvn_swig_ruby $(SWIG_RB_DIR)/../../../libsvn_*; do \
if [ -n "$$DYLD_LIBRARY_PATH" ]; then \
@SVN_APR_SHLIB_PATH_VAR@="$$@SVN_APR_SHLIB_PATH_VAR@:$$d/.libs"; \
else \
@@ -473,11 +486,13 @@ 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
+ $(TEST_SHLIB_VAR_JAVAHL) \
+ $(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
check-apache-javahl: javahl
@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_tests_PATH):$(javahl_tests_CLASSPATH) "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests
+ $(TEST_SHLIB_VAR_JAVAHL) \
+ $(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_tests_PATH):$(javahl_tests_CLASSPATH)" "-Dtest.tests=$(JAVAHL_TESTS)" org.apache.subversion.javahl.RunTests
check-javahl: check-apache-javahl
Modified: subversion/branches/invoke-diff-cmd-feature/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/build.conf?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/build.conf (original)
+++ subversion/branches/invoke-diff-cmd-feature/build.conf Thu Oct 24 15:11:06 2013
@@ -357,7 +357,7 @@ install = fsmod-lib
path = subversion/libsvn_subr
libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic intl
msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
- crypt32.lib version.lib psapi.lib
+ crypt32.lib version.lib
msvc-export =
svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h
svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h
Modified: subversion/branches/invoke-diff-cmd-feature/build/generator/gen_win_dependencies.py
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/build/generator/gen_win_dependencies.py?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/build/generator/gen_win_dependencies.py (original)
+++ subversion/branches/invoke-diff-cmd-feature/build/generator/gen_win_dependencies.py Thu Oct 24 15:11:06 2013
@@ -252,9 +252,14 @@ class GenDependenciesBase(gen_base.Gener
self.sln_version = '12.00'
self.vcproj_version = '11.0'
self.vcproj_extension = '.vcxproj'
+ elif val == '2013' or val == '12':
+ self.vs_version = '2013'
+ self.sln_version = '12.00'
+ self.vcproj_version = '12.0'
+ self.vcproj_extension = '.vcxproj'
elif re.match('^1\d+$', val):
self.vsversion = val
- self.sln_version = '12.00'
+ self.sln_version = val + '.00'
self.vcproj_version = val + '.0'
self.vcproj_extension = '.vcxproj'
else:
Modified: subversion/branches/invoke-diff-cmd-feature/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/configure.ac?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/configure.ac (original)
+++ subversion/branches/invoke-diff-cmd-feature/configure.ac Thu Oct 24 15:11:06 2013
@@ -1129,7 +1129,6 @@ if test "$enable_optimization" = "yes";
SVN_CFLAGS_ADD_IFELSE([-O])])])])
SVN_CFLAGS_ADD_IFELSE([-Wno-clobbered])
SVN_CFLAGS_ADD_IFELSE([-flto])
- SVN_CFLAGS_ADD_IFELSE([-fwhole-program])
fi
fi
if test -z ["`echo $CXXUSERFLAGS' ' | $EGREP -- '-O[^ ]* '`"]; then
@@ -1146,7 +1145,6 @@ if test "$enable_optimization" = "yes";
SVN_CXXFLAGS_ADD_IFELSE([-O])])])])
SVN_CXXFLAGS_ADD_IFELSE([-Wno-clobbered])
SVN_CXXFLAGS_ADD_IFELSE([-flto])
- SVN_CXXFLAGS_ADD_IFELSE([-fwhole-program])
fi
fi
elif test "$enable_optimization" = "no"; then
Modified: subversion/branches/invoke-diff-cmd-feature/gen-make.py
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/gen-make.py?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/gen-make.py (original)
+++ subversion/branches/invoke-diff-cmd-feature/gen-make.py Thu Oct 24 15:11:06 2013
@@ -209,7 +209,8 @@ def _usage_exit(err=None):
print(" Use static openssl")
print("")
print(" --vsnet-version=VER")
- print(" generate for VS.NET version VER (2002, 2003, 2005, 2008, 2010 or 2012)")
+ print(" generate for VS.NET version VER (2002, 2003, 2005, 2008,")
+ print(" 2010, 2012 or 2013)")
print(" [only valid in combination with '-t vcproj']")
print("")
print(" --with-apr_memcache=DIR")
Modified: subversion/branches/invoke-diff-cmd-feature/notes/http-and-webdav/webdav-protocol
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/notes/http-and-webdav/webdav-protocol?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/notes/http-and-webdav/webdav-protocol (original)
+++ subversion/branches/invoke-diff-cmd-feature/notes/http-and-webdav/webdav-protocol Thu Oct 24 15:11:06 2013
@@ -354,6 +354,7 @@ Request:
<S:discover-changed-paths/> (optional)
<S:strict-node-history/> (optional)
<S:include-merged-revisions/> (optional)
+ <S:move-behavior>0</S:move-behavior> (optional, see below for values)
<S:encode-binary-props> (optional)
<S:revprop>REVPROP</S:revprop>... | <S:all-revprops/> | <S:no-revprops/>
('revprop', 'all-revprops', and 'no-revprops' are all optional)
@@ -374,12 +375,21 @@ Response:
<S:has-children/> (optional)
<S:added-path( copyfrom-path="PATH" copyfrom-rev="REVNUM">PATH</S:added-path>... (optional)
<S:replaced-path( copyfrom-path="PATH" copyfrom-rev="REVNUM">PATH</S:replaced-path>... (optional)
+ <S:moved-path( copyfrom-path="PATH" copyfrom-rev="REVNUM">PATH</S:moved-path>... (optional)
+ <S:replaced-by-moved-path( copyfrom-path="PATH" copyfrom-rev="REVNUM">PATH</S:replaced-by-moved-path>... (optional)
<S:deleted-path>PATH</S:deleted-path>... (optional)
<S:modified-path>PATH</S:modified-path>... (optional)
</S:log-item>
...multiple log-items for each returned revision...
</S:log-report>
+Move behavior values (see svn_move_behavior_t in svn_types.h):
+
+ 0 .. send all moves as adds / replaces (default if not specified)
+ 1 .. send moves only when stored as such in the repository
+ 2 .. send moves as stored in the repository and also send send
+ suitable adds / replacements as moves
+
mergeinfo-report
----------------
@@ -452,4 +462,4 @@ Request:
Response:
- ### TODO ###
\ No newline at end of file
+ ### TODO ###
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/JNIUtil.cpp Thu Oct 24 15:11:06 2013
@@ -54,16 +54,8 @@
#include "svn_path.h"
#include "svn_cache_config.h"
#include "private/svn_atomic.h"
+#include "private/svn_utf_private.h"
#include "svn_private_config.h"
-#ifdef WIN32
-/* FIXME: We're using an internal APR header here, which means we
- have to build Subversion with APR sources. This being Win32-only,
- that should be fine for now, but a better solution must be found in
- combination with issue #850. */
-extern "C" {
-#include <arch/win32/apr_arch_utf8.h>
-};
-#endif
#include "SVNBase.h"
#include "JNIMutex.h"
@@ -314,30 +306,22 @@ bool JNIUtil::JNIGlobalInit(JNIEnv *env)
WCHAR ucs2_path[MAX_PATH];
char *utf8_path;
const char *internal_path;
- apr_pool_t *pool;
- apr_status_t apr_err;
- apr_size_t inwords, outbytes;
- unsigned int outlength;
+ svn_error_t *err;
+ apr_pool_t *pool = svn_pool_create(g_pool);
- pool = svn_pool_create(g_pool);
/* get dll name - our locale info will be in '../share/locale' */
- inwords = sizeof(ucs2_path) / sizeof(ucs2_path[0]);
HINSTANCE moduleHandle = GetModuleHandle("libsvnjavahl-1");
- GetModuleFileNameW(moduleHandle, ucs2_path, inwords);
- inwords = lstrlenW(ucs2_path);
- outbytes = outlength = 3 * (inwords + 1);
- utf8_path = reinterpret_cast<char *>(apr_palloc(pool, outlength));
- apr_err = apr_conv_ucs2_to_utf8((const apr_wchar_t *) ucs2_path,
- &inwords, utf8_path, &outbytes);
- if (!apr_err && (inwords > 0 || outbytes == 0))
- apr_err = APR_INCOMPLETE;
- if (apr_err)
+ GetModuleFileNameW(moduleHandle, ucs2_path,
+ sizeof(ucs2_path) / sizeof(ucs2_path[0]));
+ err = svn_utf__win32_utf16_to_utf8(&utf8_path, ucs2_path, NULL, pool);
+ if (err)
{
if (stderr)
- fprintf(stderr, "Can't convert module path to UTF-8");
- return FALSE;
+ svn_handle_error2(err, stderr, false, "svn: ");
+ svn_error_clear(err);
+ return false;
}
- utf8_path[outlength - outbytes] = '\0';
+
internal_path = svn_dirent_internal_style(utf8_path, pool);
/* get base path name */
internal_path = svn_dirent_dirname(internal_path, pool);
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/OperationContext.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/OperationContext.cpp?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/OperationContext.cpp (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/native/OperationContext.cpp Thu Oct 24 15:11:06 2013
@@ -176,15 +176,6 @@ OperationContext::getAuthBaton(SVN::Pool
svn_auth_get_username_provider(&provider, pool);
APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
- /* The server-cert, client-cert, and client-cert-password providers. */
- SVN_JNI_ERR(
- svn_auth_get_platform_specific_provider(
- &provider, "windows", "ssl_server_trust", pool),
- NULL);
-
- if (provider)
- APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
-
svn_auth_get_ssl_server_trust_file_provider(&provider, pool);
APR_ARRAY_PUSH(providers, svn_auth_provider_object_t *) = provider;
svn_auth_get_ssl_client_cert_file_provider(&provider, pool);
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/bindings/javahl/src/org/apache/subversion/javahl/types/Revision.java Thu Oct 24 15:11:06 2013
@@ -81,6 +81,7 @@ public class Revision implements java.io
case head : return "HEAD";
case previous : return "PREV";
case working : return "WORKING";
+ case unspecified: return "UNSPECIFIED";
}
return super.toString();
}
@@ -155,6 +156,11 @@ public class Revision implements java.io
public static final Revision START = new Revision(Kind.unspecified);
/**
+ * unspecified revision
+ */
+ public static final Revision UNSPECIFIED = START;
+
+ /**
* last committed revision, needs working copy
*/
public static final Revision COMMITTED = new Revision(Kind.committed);
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c Thu Oct 24 15:11:06 2013
@@ -1645,13 +1645,13 @@ static VALUE
invoke_callback(VALUE baton, VALUE pool)
{
callback_baton_t *cbb = (callback_baton_t *)baton;
- VALUE sub_pool;
+ VALUE subpool;
VALUE argv[1];
argv[0] = pool;
- svn_swig_rb_get_pool(1, argv, Qnil, &sub_pool, NULL);
- cbb->pool = sub_pool;
- return rb_ensure(callback, baton, callback_ensure, sub_pool);
+ svn_swig_rb_get_pool(1, argv, Qnil, &subpool, NULL);
+ cbb->pool = subpool;
+ return rb_ensure(callback, baton, callback_ensure, subpool);
}
static VALUE
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_auth_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_auth_private.h?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_auth_private.h (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_auth_private.h Thu Oct 24 15:11:06 2013
@@ -37,6 +37,24 @@
extern "C" {
#endif /* __cplusplus */
+/** SSL server authority verification credential type.
+ *
+ * The followin auth parameters are available to the providers:
+ *
+ * - @c SVN_AUTH_PARAM_SSL_SERVER_FAILURES (@c apr_uint32_t*)
+ * - @c SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO
+ * (@c svn_auth_ssl_server_cert_info_t*)
+ *
+ * The following optional auth parameters are relevant to the providers:
+ *
+ * - @c SVN_AUTH_PARAM_NO_AUTH_CACHE (@c void*)
+ *
+ * @since New in 1.9.
+ */
+#define SVN_AUTH_CRED_SSL_SERVER_AUTHORITY "svn.ssl.server.authority"
+
+
+
/* If you add a password type for a provider which stores
* passwords on disk in encrypted form, remember to update
* svn_auth__simple_save_creds_helper. Otherwise it will be
@@ -213,6 +231,25 @@ svn_auth__ssl_client_cert_pw_set(svn_boo
svn_boolean_t non_interactive,
apr_pool_t *pool);
+#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN)
+/**
+ * Set @a *provider to an authentication provider that implements
+ * ssl authority verification via the Windows CryptoApi.
+ *
+ * This provider automatically validates authority certificates with
+ * the CryptoApi, like Internet Explorer and the Windows network API do.
+ * This allows the rollout of root certificates via Windows Domain
+ * policies, instead of Subversion specific configuration.
+ *
+ * @note This function is only available on Windows.
+ */
+void
+svn_auth__get_windows_ssl_server_authority_provider(
+ svn_auth_provider_object_t **provider,
+ apr_pool_t *pool);
+#endif
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_dep_compat.h
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_dep_compat.h?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_dep_compat.h (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_dep_compat.h Thu Oct 24 15:11:06 2013
@@ -115,6 +115,19 @@ typedef apr_uint32_t apr_uintptr_t;
#endif
/**
+ * APR keeps a few interesting defines hidden away in its private
+ * headers apr_arch_file_io.h, so we redefined them here.
+ *
+ * @since New in 1.9
+ */
+#ifndef APR_FREADONLY
+#define APR_FREADONLY 0x10000000
+#endif
+#ifndef APR_OPENINFO
+#define APR_OPENINFO 0x00100000
+#endif
+
+/**
* Check at compile time if the Serf version is at least a certain
* level.
* @param major The major version component of the version checked
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_utf_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_utf_private.h?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_utf_private.h (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/include/private/svn_utf_private.h Thu Oct 24 15:11:06 2013
@@ -93,6 +93,28 @@ svn_utf__cstring_from_utf8_fuzzy(const c
const char *,
apr_pool_t *));
+
+#if defined(WIN32)
+/* On Windows: Convert the UTF-8 string SRC to UTF-16.
+ If PREFIX is not NULL, prepend it to the converted result.
+ The result, if not empty, will be allocated in RESULT_POOL. */
+svn_error_t *
+svn_utf__win32_utf8_to_utf16(const WCHAR **result,
+ const char *src,
+ const WCHAR *prefix,
+ apr_pool_t *result_pool);
+
+/* On Windows: Convert the UTF-16 string SRC to UTF-8.
+ If PREFIX is not NULL, prepend it to the converted result.
+ The result, if not empty, will be allocated in RESULT_POOL. */
+svn_error_t *
+svn_utf__win32_utf16_to_utf8(const char **result,
+ const WCHAR *src,
+ const char *prefix,
+ apr_pool_t *result_pool);
+#endif /* WIN32*/
+
+
/* A constant used for many length parameters in the utf8proc wrappers
* to indicate that the length of a string is unknonw. */
#define SVN_UTF__UNKNOWN_LENGTH ((apr_size_t) -1)
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_fs.h?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_fs.h (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_fs.h Thu Oct 24 15:11:06 2013
@@ -1399,8 +1399,6 @@ svn_fs_path_change2_create(const svn_fs_
* Allocate and return a hash @a *changed_paths2_p containing descriptions
* of the paths changed under @a root. The hash is keyed with
* <tt>const char *</tt> paths, and has #svn_fs_path_change2_t * values.
- * @a move_behavior determines how moves are being detected and reported;
- * see #svn_fs_move_behavior_t for the various options.
*
* Callers can assume that this function takes time proportional to
* the amount of data output, and does not need to do tree crawls;
@@ -1410,22 +1408,8 @@ svn_fs_path_change2_create(const svn_fs_
*
* Use @a pool for all allocations, including the hash and its values.
*
- * @since New in 1.9.
- */
-svn_error_t *
-svn_fs_paths_changed3(apr_hash_t **changed_paths2_p,
- svn_fs_root_t *root,
- svn_move_behavior_t move_behavior,
- apr_pool_t *pool);
-
-
-/** Same as svn_fs_paths_changed3 but with @a move_behavior set to
- * #svn_fs_move_behavior_no_moves.
- *
- * @deprecated Provided for backward compatibility with the 1.8 API.
* @since New in 1.6.
*/
-SVN_DEPRECATED
svn_error_t *
svn_fs_paths_changed2(apr_hash_t **changed_paths2_p,
svn_fs_root_t *root,
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_ra.h?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_ra.h (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/include/svn_ra.h Thu Oct 24 15:11:06 2013
@@ -1621,7 +1621,7 @@ svn_ra_get_log3(svn_ra_session_t *sessio
/**
* Similar to svn_ra_get_log3(), but with @a move_behavior being set to
- * #svn_fs_move_behavior_no_moves.
+ * #svn_move_behavior_no_moves.
*
* @since New in 1.5.
* @deprecated Provided for backward compatibility with the 1.8 API.
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/merge.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/merge.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/merge.c Thu Oct 24 15:11:06 2013
@@ -6729,7 +6729,7 @@ merge_range_find_extremes(svn_revnum_t *
}
}
-/* Wrapper around svn_ra_get_log2(). Invoke RECEIVER with RECEIVER_BATON
+/* Wrapper around svn_ra_get_log3(). Invoke RECEIVER with RECEIVER_BATON
* on each commit from YOUNGEST_REV to OLDEST_REV in which TARGET_RELPATH
* changed. TARGET_RELPATH is relative to RA_SESSION's URL.
* Important: Revision properties are not retrieved by this function for
@@ -6753,10 +6753,11 @@ get_log(svn_ra_session_t *ra_session,
revprops = apr_array_make(pool, 0, sizeof(const char *));
- SVN_ERR(svn_ra_get_log2(ra_session, log_targets, youngest_rev,
+ SVN_ERR(svn_ra_get_log3(ra_session, log_targets, youngest_rev,
oldest_rev, 0 /* limit */, discover_changed_paths,
FALSE /* strict_node_history */,
FALSE /* include_merged_revisions */,
+ svn_move_behavior_no_moves, /* ### really? */
revprops, receiver, receiver_baton, pool));
return SVN_NO_ERROR;
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/mergeinfo.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/mergeinfo.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/mergeinfo.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_client/mergeinfo.c Thu Oct 24 15:11:06 2013
@@ -1566,13 +1566,14 @@ logs_for_mergeinfo_rangelist(const char
target = apr_array_make(scratch_pool, 1, sizeof(const char *));
APR_ARRAY_PUSH(target, const char *) = "";
- SVN_ERR(svn_ra_get_log2(ra_session, target,
+ SVN_ERR(svn_ra_get_log3(ra_session, target,
oldest_revs_first ? oldest_rev : youngest_rev,
oldest_revs_first ? youngest_rev : oldest_rev,
0 /* limit */,
discover_changed_paths,
FALSE /* strict_node_history */,
FALSE /* include_merged_revisions */,
+ svn_move_behavior_no_moves, /* ### really? */
revprops,
filter_log_entry_with_rangelist, &fleb,
scratch_pool));
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_delta/compat.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_delta/compat.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_delta/compat.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_delta/compat.c Thu Oct 24 15:11:06 2013
@@ -1628,7 +1628,7 @@ apply_change(void **dir_baton,
/* Make this an FS path by prepending "/" */
if (copyfrom_url[0] != '/')
copyfrom_url = apr_pstrcat(scratch_pool, "/",
- copyfrom_url, NULL);
+ copyfrom_url, (char *)NULL);
}
copyfrom_rev = change->copyfrom_rev;
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/editor.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/editor.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/editor.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/editor.c Thu Oct 24 15:11:06 2013
@@ -62,7 +62,7 @@ struct edit_baton {
svn_fs_root_t *root;
};
-#define FSPATH(relpath, pool) apr_pstrcat(pool, "/", relpath, NULL)
+#define FSPATH(relpath, pool) apr_pstrcat(pool, "/", relpath, (char *)NULL)
#define UNUSED(x) ((void)(x))
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/fs-loader.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs/fs-loader.c Thu Oct 24 15:11:06 2013
@@ -989,177 +989,12 @@ svn_fs_revision_root_revision(svn_fs_roo
return root->is_txn_root ? SVN_INVALID_REVNUM : root->rev;
}
-/* Return TRUE, if CHANGE deleted the node previously found at its target
- path. */
-static svn_boolean_t
-is_deletion(svn_fs_path_change2_t *change)
-{
- return change->change_kind == svn_fs_path_change_movereplace
- || change->change_kind == svn_fs_path_change_replace
- || change->change_kind == svn_fs_path_change_delete;
-}
-
-/* Change all moves in CHANGES to ADD. Use POOL for temporary allocations.
- */
-static void
-turn_moves_into_copies(apr_hash_t *changes,
- apr_pool_t *pool)
-{
- apr_hash_index_t *hi;
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- const char *key;
- apr_ssize_t klen;
- svn_fs_path_change2_t *change;
- apr_hash_this(hi, (const void **)&key, &klen, (void**)&change);
-
- switch (change->change_kind)
- {
- case svn_fs_path_change_move:
- change->change_kind = svn_fs_path_change_add;
- break;
-
- case svn_fs_path_change_movereplace:
- change->change_kind = svn_fs_path_change_replace;
- break;
-
- default:
- break;
- }
- }
-}
-
-/* Replace ADDs with MOVes, if they are unique, have a matching deletion
- * and if the copy-from revision is REVISION-1. Use POOL for temporary
- * allocations.
- */
-static void
-turn_unique_copies_into_moves(apr_hash_t *changes,
- svn_revnum_t revision,
- apr_pool_t *pool)
-{
- apr_hash_index_t *hi;
- apr_hash_t *unique_copy_sources;
- const char **sources;
- int i;
-
- /* find all copy-from paths (ADD and MOV alike) */
-
- svn_boolean_t any_deletion = FALSE;
- apr_array_header_t *copy_sources
- = apr_array_make(pool, apr_hash_count(changes), sizeof(const char*));
-
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- svn_fs_path_change2_t *change;
- apr_hash_this(hi, NULL, NULL, (void**)&change);
-
- if (change->copyfrom_path && change->copyfrom_rev == revision-1)
- APR_ARRAY_PUSH(copy_sources, const char *)
- = change->copyfrom_path;
-
- any_deletion |= is_deletion(change);
- }
-
- /* no suitable copy-from or no deletion -> no moves */
-
- if (!copy_sources->nelts || !any_deletion)
- return;
-
- /* identify copy-from paths that have been mentioned exactly once */
-
- sources = (const char **)copy_sources->elts;
- qsort(sources, copy_sources->nelts, copy_sources->elt_size,
- (int (*)(const void *, const void *))svn_sort_compare_paths);
-
- unique_copy_sources = apr_hash_make(pool);
- for (i = 0; i < copy_sources->nelts; ++i)
- if ( (i == 0 || strcmp(sources[i-1], sources[i]))
- && (i == copy_sources->nelts-1 || strcmp(sources[i+1], sources[i])))
- {
- apr_hash_set(unique_copy_sources, sources[i],
- APR_HASH_KEY_STRING, sources[i]);
- }
-
- /* no unique copy-from paths -> no moves */
-
- if (!apr_hash_count(unique_copy_sources))
- return;
-
- /* Replace all additions, replacements with a unique copy-from path,
- the correct copy-from rev and a matching deletion in this revision,
- with moves and move-replacements, respectively. */
-
- for (hi = apr_hash_first(pool, changes); hi; hi = apr_hash_next(hi))
- {
- const char *key;
- apr_ssize_t klen;
- svn_fs_path_change2_t *change, *copy_from_change;
-
- apr_hash_this(hi, (const void **)&key, &klen, (void**)&change);
- if ( change->copyfrom_rev != revision-1
- || !change->copyfrom_path
- || !apr_hash_get(unique_copy_sources, change->copyfrom_path,
- APR_HASH_KEY_STRING))
- continue;
-
- copy_from_change = apr_hash_get(changes, change->copyfrom_path,
- APR_HASH_KEY_STRING);
- if (!copy_from_change || !is_deletion(copy_from_change))
- continue;
-
- /* There is a deletion of the ADD's copy-from path in *REVISION*.
- This can either be the same as in REVISION-1 (o.k.) or must have
- been replaced by some other node. However, that would imply that
- it still got deleted as part of the replacement, i.e. both cases
- are o.k. */
-
- switch (change->change_kind)
- {
- case svn_fs_path_change_add:
- change->change_kind = svn_fs_path_change_move;
- break;
-
- case svn_fs_path_change_replace:
- change->change_kind = svn_fs_path_change_movereplace;
- break;
-
- default:
- break;
- }
- }
-}
-
svn_error_t *
-svn_fs_paths_changed3(apr_hash_t **changed_paths_p,
+svn_fs_paths_changed2(apr_hash_t **changed_paths_p,
svn_fs_root_t *root,
- svn_move_behavior_t move_behavior,
- apr_pool_t *pool)
-{
- SVN_ERR(root->vtable->paths_changed(changed_paths_p, root, pool));
- switch(move_behavior)
- {
- case svn_move_behavior_no_moves:
- turn_moves_into_copies(*changed_paths_p, pool);
- break;
-
- case svn_move_behavior_auto_moves:
- turn_unique_copies_into_moves(*changed_paths_p, root->rev, pool);
- break;
-
- default:
- break;
- }
-
- return SVN_NO_ERROR;
-}
-
-svn_error_t *
-svn_fs_paths_changed2(apr_hash_t **changed_paths_p, svn_fs_root_t *root,
apr_pool_t *pool)
{
- return svn_fs_paths_changed3(changed_paths_p, root,
- svn_move_behavior_no_moves, pool);
+ return root->vtable->paths_changed(changed_paths_p, root, pool);
}
svn_error_t *
@@ -1169,8 +1004,7 @@ svn_fs_paths_changed(apr_hash_t **change
apr_hash_t *changed_paths_new_structs;
apr_hash_index_t *hi;
- SVN_ERR(svn_fs_paths_changed3(&changed_paths_new_structs, root,
- svn_move_behavior_no_moves, pool));
+ SVN_ERR(svn_fs_paths_changed2(&changed_paths_new_structs, root, pool));
*changed_paths_p = apr_hash_make(pool);
for (hi = apr_hash_first(pool, changed_paths_new_structs);
hi;
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/caching.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/caching.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/caching.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/caching.c Thu Oct 24 15:11:06 2013
@@ -394,7 +394,7 @@ svn_fs_fs__initialize_caches(svn_fs_t *f
fs,
pool));
- prefix = apr_pstrcat(pool, "ns:", cache_namespace, ":", prefix, NULL);
+ prefix = apr_pstrcat(pool, "ns:", cache_namespace, ":", prefix, (char *)NULL);
membuffer = svn_cache__get_global_membuffer_cache();
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/fs_fs.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/fs_fs.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/fs_fs.c Thu Oct 24 15:11:06 2013
@@ -245,6 +245,31 @@ check_format_file_buffer_numeric(const c
pool);
}
+/* Return the error SVN_ERR_FS_UNSUPPORTED_FORMAT if FS's format
+ number is not the same as a format number supported by this
+ Subversion. */
+static svn_error_t *
+check_format(int format)
+{
+ /* Blacklist. These formats may be either younger or older than
+ SVN_FS_FS__FORMAT_NUMBER, but we don't support them. */
+ if (format == SVN_FS_FS__PACKED_REVPROP_SQLITE_DEV_FORMAT)
+ return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL,
+ _("Found format '%d', only created by "
+ "unreleased dev builds; see "
+ "http://subversion.apache.org"
+ "/docs/release-notes/1.7#revprop-packing"),
+ format);
+
+ /* We support all formats from 1-current simultaneously */
+ if (1 <= format && format <= SVN_FS_FS__FORMAT_NUMBER)
+ return SVN_NO_ERROR;
+
+ return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL,
+ _("Expected FS format between '1' and '%d'; found format '%d'"),
+ SVN_FS_FS__FORMAT_NUMBER, format);
+}
+
/* Read the format number and maximum number of files per directory
from PATH and return them in *PFORMAT and *MAX_FILES_PER_DIR
respectively.
@@ -295,6 +320,9 @@ read_format(int *pformat, int *max_files
SVN_ERR(check_format_file_buffer_numeric(buf->data, 0, path, pool));
SVN_ERR(svn_cstring_atoi(pformat, buf->data));
+ /* Check that we support this format at all */
+ SVN_ERR(check_format(*pformat));
+
/* Set the default values for anything that can be set via an option. */
*max_files_per_dir = 0;
@@ -377,31 +405,6 @@ svn_fs_fs__write_format(svn_fs_t *fs,
return svn_io_set_file_read_only(path, FALSE, pool);
}
-/* Return the error SVN_ERR_FS_UNSUPPORTED_FORMAT if FS's format
- number is not the same as a format number supported by this
- Subversion. */
-static svn_error_t *
-check_format(int format)
-{
- /* Blacklist. These formats may be either younger or older than
- SVN_FS_FS__FORMAT_NUMBER, but we don't support them. */
- if (format == SVN_FS_FS__PACKED_REVPROP_SQLITE_DEV_FORMAT)
- return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL,
- _("Found format '%d', only created by "
- "unreleased dev builds; see "
- "http://subversion.apache.org"
- "/docs/release-notes/1.7#revprop-packing"),
- format);
-
- /* We support all formats from 1-current simultaneously */
- if (1 <= format && format <= SVN_FS_FS__FORMAT_NUMBER)
- return SVN_NO_ERROR;
-
- return svn_error_createf(SVN_ERR_FS_UNSUPPORTED_FORMAT, NULL,
- _("Expected FS format between '1' and '%d'; found format '%d'"),
- SVN_FS_FS__FORMAT_NUMBER, format);
-}
-
svn_boolean_t
svn_fs_fs__fs_supports_mergeinfo(svn_fs_t *fs)
{
@@ -633,7 +636,6 @@ svn_fs_fs__open(svn_fs_t *fs, const char
/* Read the FS format number. */
SVN_ERR(read_format(&format, &max_files_per_dir,
path_format(fs, pool), pool));
- SVN_ERR(check_format(format));
/* Now we've got a format number no matter what. */
ffd->format = format;
@@ -698,7 +700,6 @@ upgrade_body(void *baton, apr_pool_t *po
/* Read the FS format number and max-files-per-dir setting. */
SVN_ERR(read_format(&format, &max_files_per_dir, format_path, pool));
- SVN_ERR(check_format(format));
/* If the config file does not exist, create one. */
SVN_ERR(svn_io_check_path(svn_dirent_join(fs->path, PATH_CONFIG, pool),
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/lock.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/lock.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/lock.c Thu Oct 24 15:11:06 2013
@@ -133,7 +133,7 @@ digest_path_from_digest(const char *fs_p
{
return svn_dirent_join_many(pool, fs_path, PATH_LOCKS_DIR,
apr_pstrmemdup(pool, digest, DIGEST_SUBDIR_LEN),
- digest, NULL);
+ digest, (char *)NULL);
}
@@ -151,7 +151,7 @@ digest_path_from_path(const char **diges
*digest_path = svn_dirent_join_many(pool, fs_path, PATH_LOCKS_DIR,
apr_pstrmemdup(pool, digest,
DIGEST_SUBDIR_LEN),
- digest, NULL);
+ digest, (char *)NULL);
return SVN_NO_ERROR;
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/transaction.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/transaction.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/transaction.c Thu Oct 24 15:11:06 2013
@@ -1000,7 +1000,7 @@ create_txn_dir(const char **id_p,
PATH_TXNS_DIR,
apr_pstrcat(pool, *id_p, PATH_EXT_TXN,
(char *)NULL),
- NULL);
+ (char *)NULL);
return svn_io_dir_make(txn_dir, APR_OS_DEFAULT, pool);
}
@@ -1024,7 +1024,7 @@ create_txn_dir_pre_1_5(const char **id_p
/* Try to create directories named "<txndir>/<rev>-<uniqueifier>.txn". */
prefix = svn_dirent_join_many(pool, fs->path, PATH_TXNS_DIR,
- apr_psprintf(pool, "%ld", rev), NULL);
+ apr_psprintf(pool, "%ld", rev), (char *)NULL);
subpool = svn_pool_create(pool);
for (i = 1; i <= 99999; i++)
@@ -2883,23 +2883,23 @@ verify_locks(svn_fs_t *fs,
Allocate the hashed strings in POOL. */
static svn_error_t *
check_for_duplicate_move_source(apr_hash_t *source_paths,
- change_t *change,
+ svn_fs_path_change2_t *change,
apr_pool_t *pool)
{
- if ( change->info.change_kind == svn_fs_path_change_move
- || change->info.change_kind == svn_fs_path_change_movereplace)
- if (change->info.copyfrom_path)
+ if ( change->change_kind == svn_fs_path_change_move
+ || change->change_kind == svn_fs_path_change_movereplace)
+ if (change->copyfrom_path)
{
- apr_size_t len = strlen(change->info.copyfrom_path);
- if (apr_hash_get(source_paths, change->info.copyfrom_path, len))
+ apr_size_t len = strlen(change->copyfrom_path);
+ if (apr_hash_get(source_paths, change->copyfrom_path, len))
return svn_error_createf(SVN_ERR_FS_AMBIGUOUS_MOVE, NULL,
_("Path '%s' has been moved to more than one target"),
- change->info.copyfrom_path);
+ change->copyfrom_path);
apr_hash_set(source_paths,
- apr_pstrmemdup(pool, change->info.copyfrom_path, len),
+ apr_pstrmemdup(pool, change->copyfrom_path, len),
len,
- change->info.copyfrom_path);
+ change->copyfrom_path);
}
return SVN_NO_ERROR;
@@ -2932,12 +2932,12 @@ verify_moves(svn_fs_t *fs,
{
const char *path;
apr_ssize_t len;
- change_t *change;
+ svn_fs_path_change2_t *change;
apr_hash_this(hi, (const void**)&path, &len, (void**)&change);
- if ( change->info.copyfrom_path
- && ( change->info.change_kind == svn_fs_path_change_move
- || change->info.change_kind == svn_fs_path_change_movereplace))
+ if ( change->copyfrom_path
+ && ( change->change_kind == svn_fs_path_change_move
+ || change->change_kind == svn_fs_path_change_movereplace))
{
svn_sort__item_t *item = apr_array_push(moves);
item->key = path;
@@ -2945,9 +2945,9 @@ verify_moves(svn_fs_t *fs,
item->value = change;
}
- if ( change->info.change_kind == svn_fs_path_change_delete
- || change->info.change_kind == svn_fs_path_change_replace
- || change->info.change_kind == svn_fs_path_change_movereplace)
+ if ( change->change_kind == svn_fs_path_change_delete
+ || change->change_kind == svn_fs_path_change_replace
+ || change->change_kind == svn_fs_path_change_movereplace)
APR_ARRAY_PUSH(deletions, const char *) = path;
}
@@ -2978,10 +2978,9 @@ verify_moves(svn_fs_t *fs,
deleted_path);
if (relpath)
{
- change_t *closed_move = closest_move_item->value;
+ svn_fs_path_change2_t *closed_move = closest_move_item->value;
APR_ARRAY_IDX(deletions, i, const char*)
- = svn_dirent_join(closed_move->info.copyfrom_path, relpath,
- pool);
+ = svn_dirent_join(closed_move->copyfrom_path, relpath, pool);
}
}
}
@@ -3007,7 +3006,8 @@ verify_moves(svn_fs_t *fs,
changes_p = (change_t **)&changes->elts;
for (i = 0; i < changes->nelts; ++i)
- SVN_ERR(check_for_duplicate_move_source(source_paths, changes_p[i],
+ SVN_ERR(check_for_duplicate_move_source(source_paths,
+ &changes_p[i]->info,
pool));
}
@@ -3015,23 +3015,24 @@ verify_moves(svn_fs_t *fs,
for (i = 0; i < moves->nelts; ++i)
{
- change_t *change = APR_ARRAY_IDX(moves, i, svn_sort__item_t).value;
+ svn_fs_path_change2_t *change
+ = APR_ARRAY_IDX(moves, i, svn_sort__item_t).value;
/* there must be a deletion of move's copy-from path
(or any of its parents) */
int closest_deletion_idx
- = svn_sort__bsearch_lower_bound(change->info.copyfrom_path, deletions,
+ = svn_sort__bsearch_lower_bound(change->copyfrom_path, deletions,
svn_sort_compare_paths);
if (closest_deletion_idx < deletions->nelts)
{
const char *closest_deleted_path
= APR_ARRAY_IDX(deletions, closest_deletion_idx, const char *);
if (!svn_dirent_is_ancestor(closest_deleted_path,
- change->info.copyfrom_path))
+ change->copyfrom_path))
return svn_error_createf(SVN_ERR_FS_INCOMPLETE_MOVE, NULL,
_("Path '%s' has been moved without being deleted"),
- change->info.copyfrom_path);
+ change->copyfrom_path);
}
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/util.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/util.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_fs/util.c Thu Oct 24 15:11:06 2013
@@ -98,7 +98,7 @@ svn_fs_fs__path_rev_packed(svn_fs_t *fs,
apr_psprintf(pool,
"%ld" PATH_EXT_PACKED_SHARD,
rev / ffd->max_files_per_dir),
- kind, NULL);
+ kind, (char *)NULL);
}
const char *
@@ -110,7 +110,7 @@ svn_fs_fs__path_rev_shard(svn_fs_t *fs,
return svn_dirent_join_many(pool, fs->path, PATH_REVS_DIR,
apr_psprintf(pool, "%ld",
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -128,7 +128,7 @@ svn_fs_fs__path_rev(svn_fs_t *fs, svn_re
}
return svn_dirent_join_many(pool, fs->path, PATH_REVS_DIR,
- apr_psprintf(pool, "%ld", rev), NULL);
+ apr_psprintf(pool, "%ld", rev), (char *)NULL);
}
const char *
@@ -155,7 +155,7 @@ svn_fs_fs__path_revprops_shard(svn_fs_t
return svn_dirent_join_many(pool, fs->path, PATH_REVPROPS_DIR,
apr_psprintf(pool, "%ld",
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -169,7 +169,7 @@ svn_fs_fs__path_revprops_pack_shard(svn_
return svn_dirent_join_many(pool, fs->path, PATH_REVPROPS_DIR,
apr_psprintf(pool, "%ld" PATH_EXT_PACKED_SHARD,
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -187,7 +187,7 @@ svn_fs_fs__path_revprops(svn_fs_t *fs,
}
return svn_dirent_join_many(pool, fs->path, PATH_REVPROPS_DIR,
- apr_psprintf(pool, "%ld", rev), NULL);
+ apr_psprintf(pool, "%ld", rev), (char *)NULL);
}
/* Return TO_ADD appended to the C string representation of TXN_ID.
@@ -211,7 +211,7 @@ svn_fs_fs__path_txn_dir(svn_fs_t *fs,
return svn_dirent_join_many(pool, fs->path, PATH_TXNS_DIR,
combine_txn_id_string(txn_id, PATH_EXT_TXN,
pool),
- NULL);
+ (char *)NULL);
}
const char *
@@ -224,7 +224,7 @@ svn_fs_fs__path_txn_proto_rev(svn_fs_t *
return svn_dirent_join_many(pool, fs->path, PATH_TXN_PROTOS_DIR,
combine_txn_id_string(txn_id, PATH_EXT_REV,
pool),
- NULL);
+ (char *)NULL);
else
return svn_dirent_join(svn_fs_fs__path_txn_dir(fs, txn_id, pool),
PATH_REV, pool);
@@ -241,7 +241,7 @@ svn_fs_fs__path_txn_proto_rev_lock(svn_f
combine_txn_id_string(txn_id,
PATH_EXT_REV_LOCK,
pool),
- NULL);
+ (char *)NULL);
else
return svn_dirent_join(svn_fs_fs__path_txn_dir(fs, txn_id, pool),
PATH_REV_LOCK, pool);
@@ -292,7 +292,7 @@ svn_fs_fs__path_node_origin(svn_fs_t *fs
buffer[len - 1] = '\0';
return svn_dirent_join_many(pool, fs->path, PATH_NODE_ORIGINS_DIR,
- buffer, NULL);
+ buffer, (char *)NULL);
}
const char *
Propchange: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/
------------------------------------------------------------------------------
Merged /subversion/trunk/subversion/libsvn_fs_x:r1531701-1535403
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/changes.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/changes.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/changes.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/changes.c Thu Oct 24 15:11:06 2013
@@ -249,8 +249,10 @@ svn_fs_x__changes_get_list(apr_array_hea
/* validate index */
if (idx + 1 >= (apr_size_t)changes->offsets->nelts)
return svn_error_createf(SVN_ERR_FS_CONTAINER_INDEX, NULL,
- _("Changes list index %" APR_SIZE_T_FMT
- " exceeds container size %d"),
+ apr_psprintf(pool,
+ _("Changes list index %%%s"
+ " exceeds container size %%d"),
+ APR_SIZE_T_FMT),
idx, changes->offsets->nelts - 1);
/* range of changes to return */
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/index.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/index.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/index.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/index.c Thu Oct 24 15:11:06 2013
@@ -1220,13 +1220,16 @@ static svn_error_t *
l2p_page_get_offset(l2p_page_baton_t *baton,
const l2p_page_t *page,
const apr_off_t *offsets,
- const apr_uint32_t *sub_items)
+ const apr_uint32_t *sub_items,
+ apr_pool_t *pool)
{
/* overflow check */
if (page->entry_count <= baton->page_offset)
return svn_error_createf(SVN_ERR_FS_ITEM_INDEX_OVERFLOW , NULL,
- _("Item index %" APR_UINT64_T_FMT
- " too large in revision %ld"),
+ apr_psprintf(pool,
+ _("Item index %%%s too large in"
+ " revision %%ld"),
+ APR_UINT64_T_FMT),
baton->item_index, baton->revision);
/* return the result */
@@ -1254,7 +1257,7 @@ l2p_page_access_func(void **out,
= svn_temp_deserializer__ptr(page, (const void *const *)&page->sub_items);
/* return the requested data */
- return l2p_page_get_offset(baton, page, offsets, sub_items);
+ return l2p_page_get_offset(baton, page, offsets, sub_items, result_pool);
}
/* Data request structure used by l2p_page_table_access_func.
@@ -1484,7 +1487,7 @@ l2p_index_lookup(apr_off_t *offset,
/* cache the page and extract the result we need */
SVN_ERR(svn_cache__set(ffd->l2p_page_cache, &key, page, pool));
SVN_ERR(l2p_page_get_offset(&page_baton, page, page->offsets,
- page->sub_items));
+ page->sub_items, pool));
/* prefetch pages from following and preceding revisions */
pages = apr_array_make(pool, 16, sizeof(l2p_page_table_entry_t));
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/lock.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/lock.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/lock.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/lock.c Thu Oct 24 15:11:06 2013
@@ -134,7 +134,7 @@ digest_path_from_digest(const char *fs_p
{
return svn_dirent_join_many(pool, fs_path, PATH_LOCKS_DIR,
apr_pstrmemdup(pool, digest, DIGEST_SUBDIR_LEN),
- digest, NULL);
+ digest, (char *)NULL);
}
@@ -152,7 +152,7 @@ digest_path_from_path(const char **diges
*digest_path = svn_dirent_join_many(pool, fs_path, PATH_LOCKS_DIR,
apr_pstrmemdup(pool, digest,
DIGEST_SUBDIR_LEN),
- digest, NULL);
+ digest, (char *)NULL);
return SVN_NO_ERROR;
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/noderevs.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/noderevs.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/noderevs.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/noderevs.c Thu Oct 24 15:11:06 2013
@@ -468,8 +468,10 @@ svn_fs_x__noderevs_get(node_revision_t *
/* validate index */
if (idx >= (apr_size_t)container->noderevs->nelts)
return svn_error_createf(SVN_ERR_FS_CONTAINER_INDEX, NULL,
- _("Node revision index %" APR_SIZE_T_FMT
- " exceeds container size %d"),
+ apr_psprintf(pool,
+ _("Node revision index %%%s"
+ " exceeds container size %%d"),
+ APR_SIZE_T_FMT),
idx, container->noderevs->nelts);
/* allocate result struct and fill it field by field */
@@ -720,9 +722,11 @@ read_reps(apr_array_header_t **reps_p,
bytes = svn_packed__get_bytes(digest_stream, &len);
if (len != sizeof(rep.md5_digest))
return svn_error_createf(SVN_ERR_FS_CONTAINER_INDEX, NULL,
- _("Unexpected MD5 digest size %"
- APR_SIZE_T_FMT),
- len);
+ apr_psprintf(pool,
+ _("Unexpected MD5"
+ " digest size %%%s"),
+ APR_SIZE_T_FMT),
+ len);
memcpy(rep.md5_digest, bytes, sizeof(rep.md5_digest));
if (rep.has_sha1)
@@ -730,9 +734,11 @@ read_reps(apr_array_header_t **reps_p,
bytes = svn_packed__get_bytes(digest_stream, &len);
if (len != sizeof(rep.sha1_digest))
return svn_error_createf(SVN_ERR_FS_CONTAINER_INDEX, NULL,
- _("Unexpected SHA1 digest size %"
- APR_SIZE_T_FMT),
- len);
+ apr_psprintf(pool,
+ _("Unexpected SHA1"
+ " digest size %%%s"),
+ APR_SIZE_T_FMT),
+ len);
memcpy(rep.sha1_digest, bytes, sizeof(rep.sha1_digest));
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/transaction.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/transaction.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/transaction.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/transaction.c Thu Oct 24 15:11:06 2013
@@ -1045,7 +1045,7 @@ create_txn_dir(const char **id_p,
PATH_TXNS_DIR,
apr_pstrcat(pool, *id_p, PATH_EXT_TXN,
(char *)NULL),
- NULL);
+ (char *)NULL);
return svn_io_dir_make(txn_dir, APR_OS_DEFAULT, pool);
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/util.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/util.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_fs_x/util.c Thu Oct 24 15:11:06 2013
@@ -141,7 +141,7 @@ svn_fs_x__path_rev_packed(svn_fs_t *fs,
apr_psprintf(pool,
"%ld" PATH_EXT_PACKED_SHARD,
rev / ffd->max_files_per_dir),
- kind, NULL);
+ kind, (char *)NULL);
}
const char *
@@ -151,7 +151,7 @@ svn_fs_x__path_rev_shard(svn_fs_t *fs, s
return svn_dirent_join_many(pool, fs->path, PATH_REVS_DIR,
apr_psprintf(pool, "%ld",
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -202,7 +202,7 @@ svn_fs_x__path_revprops_shard(svn_fs_t *
return svn_dirent_join_many(pool, fs->path, PATH_REVPROPS_DIR,
apr_psprintf(pool, "%ld",
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -215,7 +215,7 @@ svn_fs_x__path_revprops_pack_shard(svn_f
return svn_dirent_join_many(pool, fs->path, PATH_REVPROPS_DIR,
apr_psprintf(pool, "%ld" PATH_EXT_PACKED_SHARD,
rev / ffd->max_files_per_dir),
- NULL);
+ (char *)NULL);
}
const char *
@@ -247,7 +247,7 @@ svn_fs_x__path_txn_dir(svn_fs_t *fs,
return svn_dirent_join_many(pool, fs->path, PATH_TXNS_DIR,
combine_txn_id_string(txn_id, PATH_EXT_TXN,
pool),
- NULL);
+ (char *)NULL);
}
/* Return the name of the sha1->rep mapping file in transaction TXN_ID
@@ -336,7 +336,7 @@ svn_fs_x__path_txn_proto_rev(svn_fs_t *f
return svn_dirent_join_many(pool, fs->path, PATH_TXN_PROTOS_DIR,
combine_txn_id_string(txn_id, PATH_EXT_REV,
pool),
- NULL);
+ (char *)NULL);
}
const char *
@@ -348,7 +348,7 @@ svn_fs_x__path_txn_proto_rev_lock(svn_fs
combine_txn_id_string(txn_id,
PATH_EXT_REV_LOCK,
pool),
- NULL);
+ (char *)NULL);
}
const char *
@@ -394,7 +394,7 @@ svn_fs_x__path_node_origin(svn_fs_t *fs,
buffer[len - 1] = '\0';
return svn_dirent_join_many(pool, fs->path, PATH_NODE_ORIGINS_DIR,
- buffer, NULL);
+ buffer, (char *)NULL);
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/commit.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/commit.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/commit.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/commit.c Thu Oct 24 15:11:06 2013
@@ -1933,18 +1933,11 @@ add_file(const char *path,
if (handler->sline.code != 404)
{
- if (handler->sline.code != 200)
- {
- svn_error_t *err;
-
- err = svn_ra_serf__error_on_status(handler->sline,
- handler->path,
- handler->location);
+ SVN_ERR(svn_ra_serf__error_on_status(handler->sline,
+ handler->path,
+ handler->location));
- SVN_ERR(err);
- }
-
- return svn_error_createf(SVN_ERR_FS_ALREADY_EXISTS, NULL,
+ return svn_error_createf(SVN_ERR_FS_ALREADY_EXISTS, NULL,
_("File '%s' already exists"), path);
}
}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/log.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/log.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/log.c Thu Oct 24 15:11:06 2013
@@ -60,6 +60,8 @@ enum log_state_e {
HAS_CHILDREN,
ADDED_PATH,
REPLACED_PATH,
+ MOVED_PATH,
+ MOVE_REPLACED_PATH,
DELETED_PATH,
MODIFIED_PATH,
SUBTRACTIVE_MERGE
@@ -137,6 +139,14 @@ static const svn_ra_serf__xml_transition
TRUE, { "?node-kind", "?text-mods", "?prop-mods",
"?copyfrom-path", "?copyfrom-rev", NULL }, TRUE },
+ { ITEM, S_, "moved-path", MOVED_PATH,
+ TRUE, { "?node-kind", "?text-mods", "?prop-mods",
+ "?copyfrom-path", "?copyfrom-rev", NULL }, TRUE },
+
+ { ITEM, S_, "replaced-by-moved-path", MOVE_REPLACED_PATH,
+ TRUE, { "?node-kind", "?text-mods", "?prop-mods",
+ "?copyfrom-path", "?copyfrom-rev", NULL }, TRUE },
+
{ ITEM, S_, "deleted-path", DELETED_PATH,
TRUE, { "?node-kind", "?text-mods", "?prop-mods", NULL }, TRUE },
@@ -384,6 +394,10 @@ log_closed(svn_ra_serf__xml_estate_t *xe
action = 'A';
else if (leaving_state == REPLACED_PATH)
action = 'R';
+ else if (leaving_state == MOVED_PATH)
+ action = 'V';
+ else if (leaving_state == MOVE_REPLACED_PATH)
+ action = 'E';
else if (leaving_state == DELETED_PATH)
action = 'D';
else
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util.c Thu Oct 24 15:11:06 2013
@@ -48,6 +48,7 @@
#include "private/svn_dep_compat.h"
#include "private/svn_fspath.h"
#include "private/svn_subr_private.h"
+#include "private/svn_auth_private.h"
#include "ra_serf.h"
@@ -275,13 +276,8 @@ ssl_server_cert(void *baton, int failure
void *creds;
int found_matching_hostname = 0;
- /* Implicitly approve any non-server certs. */
- if (serf_ssl_cert_depth(cert) > 0)
- {
- if (failures)
- conn->server_cert_failures |= ssl_convert_serf_failures(failures);
- return APR_SUCCESS;
- }
+ if (!failures && ! conn->server_cert_failures)
+ return SVN_NO_ERROR;
/* Extract the info from the certificate */
subject = serf_ssl_cert_subject(cert, scratch_pool);
@@ -305,6 +301,58 @@ ssl_server_cert(void *baton, int failure
svn_failures = (ssl_convert_serf_failures(failures)
| conn->server_cert_failures);
+ /* Handle any non-server certs. */
+ if (serf_ssl_cert_depth(cert) > 0)
+ {
+ svn_error_t *err;
+
+ svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton,
+ SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO,
+ &cert_info);
+
+ svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton,
+ SVN_AUTH_PARAM_SSL_SERVER_FAILURES,
+ &svn_failures);
+
+ realmstring = apr_psprintf(scratch_pool, "AUTHORITY:%s",
+ cert_info.fingerprint);
+
+ err = svn_auth_first_credentials(&creds, &state,
+ SVN_AUTH_CRED_SSL_SERVER_AUTHORITY,
+ realmstring,
+ conn->session->wc_callbacks->auth_baton,
+ scratch_pool);
+
+ svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton,
+ SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO, NULL);
+
+ svn_auth_set_parameter(conn->session->wc_callbacks->auth_baton,
+ SVN_AUTH_PARAM_SSL_SERVER_FAILURES, NULL);
+
+ if (err)
+ {
+ if (err->apr_err != SVN_ERR_AUTHN_NO_PROVIDER)
+ return svn_error_trace(err);
+
+ /* No provider registered that handles server authorities */
+ svn_error_clear(err);
+ creds = NULL;
+ }
+
+ if (creds)
+ {
+ server_creds = creds;
+ SVN_ERR(svn_auth_save_credentials(state, scratch_pool));
+
+ svn_failures &= ~server_creds->accepted_failures;
+ }
+
+ if (svn_failures)
+ conn->server_cert_failures |= svn_failures;
+
+ return APR_SUCCESS;
+ }
+
/* Try to find matching server name via subjectAltName first... */
if (san) {
int i;
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util_error.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util_error.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util_error.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_serf/util_error.c Thu Oct 24 15:11:06 2013
@@ -88,7 +88,8 @@ svn_ra_serf__wrap_err(apr_status_t statu
}
if (err_msg)
{
- err->message = apr_pstrcat(err->pool, msg, ": ", err_msg, NULL);
+ err->message = apr_pstrcat(err->pool, msg, ": ", err_msg,
+ (char *)NULL);
}
else
{
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/deprecated.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/deprecated.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/deprecated.c Thu Oct 24 15:11:06 2013
@@ -232,3 +232,27 @@ svn_ra_svn_write_cmd_failure(svn_ra_svn_
{
return svn_error_trace(svn_ra_svn__write_cmd_failure(conn, pool, err));
}
+
+/* From marshal.c */
+svn_ra_svn_conn_t *
+svn_ra_svn_create_conn2(apr_socket_t *sock,
+ apr_file_t *in_file,
+ apr_file_t *out_file,
+ int compression_level,
+ apr_pool_t *pool)
+{
+ return svn_ra_svn_create_conn3(sock, in_file, out_file,
+ compression_level, 0, 0, pool);
+}
+
+/* backward-compatible implementation using the default compression level */
+svn_ra_svn_conn_t *
+svn_ra_svn_create_conn(apr_socket_t *sock,
+ apr_file_t *in_file,
+ apr_file_t *out_file,
+ apr_pool_t *pool)
+{
+ return svn_ra_svn_create_conn3(sock, in_file, out_file,
+ SVN_DELTA_COMPRESSION_LEVEL_DEFAULT, 0, 0,
+ pool);
+}
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/marshal.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/marshal.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/marshal.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_ra_svn/marshal.c Thu Oct 24 15:11:06 2013
@@ -139,27 +139,6 @@ svn_ra_svn_conn_t *svn_ra_svn_create_con
return conn;
}
-svn_ra_svn_conn_t *svn_ra_svn_create_conn2(apr_socket_t *sock,
- apr_file_t *in_file,
- apr_file_t *out_file,
- int compression_level,
- apr_pool_t *pool)
-{
- return svn_ra_svn_create_conn3(sock, in_file, out_file,
- compression_level, 0, 0, pool);
-}
-
-/* backward-compatible implementation using the default compression level */
-svn_ra_svn_conn_t *svn_ra_svn_create_conn(apr_socket_t *sock,
- apr_file_t *in_file,
- apr_file_t *out_file,
- apr_pool_t *pool)
-{
- return svn_ra_svn_create_conn3(sock, in_file, out_file,
- SVN_DELTA_COMPRESSION_LEVEL_DEFAULT, 0, 0,
- pool);
-}
-
svn_error_t *svn_ra_svn_set_capabilities(svn_ra_svn_conn_t *conn,
const apr_array_header_t *list)
{
Modified: subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/commit.c
URL: http://svn.apache.org/viewvc/subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/commit.c?rev=1535404&r1=1535403&r2=1535404&view=diff
==============================================================================
--- subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/commit.c (original)
+++ subversion/branches/invoke-diff-cmd-feature/subversion/libsvn_repos/commit.c Thu Oct 24 15:11:06 2013
@@ -1013,7 +1013,7 @@ ev2_check_authz(const struct ev2_baton *
return SVN_NO_ERROR;
if (relpath)
- fspath = apr_pstrcat(scratch_pool, "/", relpath, NULL);
+ fspath = apr_pstrcat(scratch_pool, "/", relpath, (char *)NULL);
else
fspath = NULL;