You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by cm...@apache.org on 2012/09/12 16:43:59 UTC
svn commit: r1383980 [1/6] - in /subversion/branches/master-passphrase: ./
build/ build/ac-macros/ build/generator/ build/generator/templates/
contrib/client-side/emacs/ subversion/
subversion/bindings/javahl/src/org/apache/subversion/javahl/ subversio...
Author: cmpilato
Date: Wed Sep 12 14:43:54 2012
New Revision: 1383980
URL: http://svn.apache.org/viewvc?rev=1383980&view=rev
Log:
Bring the 'master-passphrase' branch into sync with recent trunk changes.
(Merged /subversion/trunk:r1372418-1383954.)
Added:
subversion/branches/master-passphrase/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stderr
- copied unchanged from r1383954, subversion/trunk/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stderr
subversion/branches/master-passphrase/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
- copied unchanged from r1383954, subversion/trunk/subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout
subversion/branches/master-passphrase/tools/fsfs/
- copied from r1383954, subversion/trunk/tools/fsfs/
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnpubsub
- copied unchanged from r1383954, subversion/trunk/tools/server-side/svnpubsub/rc.d/svnpubsub
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnpubsub.freebsd
- copied unchanged from r1383954, subversion/trunk/tools/server-side/svnpubsub/rc.d/svnpubsub.freebsd
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnwcsub
- copied unchanged from r1383954, subversion/trunk/tools/server-side/svnpubsub/rc.d/svnwcsub
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnwcsub.freebsd
- copied unchanged from r1383954, subversion/trunk/tools/server-side/svnpubsub/rc.d/svnwcsub.freebsd
Removed:
subversion/branches/master-passphrase/build/strip-po-charset.py
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/ac-macros/apache.m4
subversion/branches/master-passphrase/build/ac-macros/macosx.m4
subversion/branches/master-passphrase/build/ac-macros/sqlite.m4
subversion/branches/master-passphrase/build/generator/gen_base.py
subversion/branches/master-passphrase/build/generator/gen_make.py
subversion/branches/master-passphrase/build/generator/gen_win.py
subversion/branches/master-passphrase/build/generator/templates/build_locale.ezt
subversion/branches/master-passphrase/build/generator/templates/makefile.ezt
subversion/branches/master-passphrase/build/generator/templates/svn_locale.vcxproj.ezt
subversion/branches/master-passphrase/build/run_tests.py
subversion/branches/master-passphrase/configure.ac
subversion/branches/master-passphrase/contrib/client-side/emacs/dsvn.el
subversion/branches/master-passphrase/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java
subversion/branches/master-passphrase/subversion/include/private/svn_debug.h
subversion/branches/master-passphrase/subversion/include/private/svn_eol_private.h
subversion/branches/master-passphrase/subversion/include/private/svn_sqlite.h
subversion/branches/master-passphrase/subversion/include/svn_config.h
subversion/branches/master-passphrase/subversion/include/svn_dav.h
subversion/branches/master-passphrase/subversion/include/svn_fs.h
subversion/branches/master-passphrase/subversion/include/svn_repos.h
subversion/branches/master-passphrase/subversion/include/svn_string.h
subversion/branches/master-passphrase/subversion/include/svn_version.h
subversion/branches/master-passphrase/subversion/include/svn_wc.h
subversion/branches/master-passphrase/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
subversion/branches/master-passphrase/subversion/libsvn_client/diff.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/update.c
subversion/branches/master-passphrase/subversion/libsvn_diff/diff_file.c
subversion/branches/master-passphrase/subversion/libsvn_diff/parse-diff.c
subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.c
subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.h
subversion/branches/master-passphrase/subversion/libsvn_fs_base/fs.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/caching.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/fs.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/fs.h
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/rep-cache-db.sql
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/rep-cache.c
subversion/branches/master-passphrase/subversion/libsvn_fs_fs/rep-cache.h
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_ra_local/split_url.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/commit.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/options.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/ra_serf.h
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/replay.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/serf.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/update.c
subversion/branches/master-passphrase/subversion/libsvn_ra_serf/util.c
subversion/branches/master-passphrase/subversion/libsvn_repos/commit.c
subversion/branches/master-passphrase/subversion/libsvn_repos/fs-wrap.c
subversion/branches/master-passphrase/subversion/libsvn_repos/hooks.c
subversion/branches/master-passphrase/subversion/libsvn_repos/repos.c
subversion/branches/master-passphrase/subversion/libsvn_repos/repos.h
subversion/branches/master-passphrase/subversion/libsvn_subr/auth.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cache-membuffer.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cache_config.c
subversion/branches/master-passphrase/subversion/libsvn_subr/cmdline.c
subversion/branches/master-passphrase/subversion/libsvn_subr/config.c
subversion/branches/master-passphrase/subversion/libsvn_subr/config_file.c
subversion/branches/master-passphrase/subversion/libsvn_subr/deprecated.c
subversion/branches/master-passphrase/subversion/libsvn_subr/dirent_uri.c
subversion/branches/master-passphrase/subversion/libsvn_subr/eol.c
subversion/branches/master-passphrase/subversion/libsvn_subr/gpg_agent.c
subversion/branches/master-passphrase/subversion/libsvn_subr/io.c
subversion/branches/master-passphrase/subversion/libsvn_subr/nls.c
subversion/branches/master-passphrase/subversion/libsvn_subr/opt.c
subversion/branches/master-passphrase/subversion/libsvn_subr/opt.h
subversion/branches/master-passphrase/subversion/libsvn_subr/simple_providers.c
subversion/branches/master-passphrase/subversion/libsvn_subr/sqlite.c
subversion/branches/master-passphrase/subversion/libsvn_subr/string.c
subversion/branches/master-passphrase/subversion/libsvn_subr/sysinfo.c
subversion/branches/master-passphrase/subversion/libsvn_subr/sysinfo.h
subversion/branches/master-passphrase/subversion/libsvn_subr/temp_serializer.c
subversion/branches/master-passphrase/subversion/libsvn_subr/utf.c
subversion/branches/master-passphrase/subversion/libsvn_subr/utf_validate.c
subversion/branches/master-passphrase/subversion/libsvn_subr/version.c
subversion/branches/master-passphrase/subversion/libsvn_wc/conflicts.c
subversion/branches/master-passphrase/subversion/libsvn_wc/tree_conflicts.c
subversion/branches/master-passphrase/subversion/libsvn_wc/update_editor.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/activity.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/dav_svn.h
subversion/branches/master-passphrase/subversion/mod_dav_svn/mod_dav_svn.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/posts/create_txn.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/reports/update.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/repos.c
subversion/branches/master-passphrase/subversion/mod_dav_svn/version.c
subversion/branches/master-passphrase/subversion/po/zh_CN.po
subversion/branches/master-passphrase/subversion/svn/cl.h
subversion/branches/master-passphrase/subversion/svn/file-merge.c
subversion/branches/master-passphrase/subversion/svn/log-cmd.c
subversion/branches/master-passphrase/subversion/svn/main.c
subversion/branches/master-passphrase/subversion/svn/tree-conflicts.c
subversion/branches/master-passphrase/subversion/svn_private_config.hw
subversion/branches/master-passphrase/subversion/svnadmin/main.c
subversion/branches/master-passphrase/subversion/svnserve/serve.c
subversion/branches/master-passphrase/subversion/svnversion/main.c
subversion/branches/master-passphrase/subversion/svnversion/svnversion.1
subversion/branches/master-passphrase/subversion/tests/cmdline/davautocheck.sh
subversion/branches/master-passphrase/subversion/tests/cmdline/getopt_tests.py
subversion/branches/master-passphrase/subversion/tests/cmdline/getopt_tests_data/svn--version_stdout
subversion/branches/master-passphrase/subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout
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/libsvn_subr/dirent_uri-test.c
subversion/branches/master-passphrase/subversion/tests/libsvn_subr/string-test.c
subversion/branches/master-passphrase/tools/dev/unix-build/Makefile.svn
subversion/branches/master-passphrase/tools/server-side/svnauthz-validate.c
subversion/branches/master-passphrase/tools/server-side/svnpubsub/README.txt
subversion/branches/master-passphrase/tools/server-side/svnpubsub/example.conf
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnpubsub.debian
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnwcsub.debian
subversion/branches/master-passphrase/tools/server-side/svnpubsub/rc.d/svnwcsub.solaris
subversion/branches/master-passphrase/tools/server-side/svnpubsub/svnwcsub.py
subversion/branches/master-passphrase/win-tests.py
Propchange: subversion/branches/master-passphrase/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1372418-1383954
Modified: subversion/branches/master-passphrase/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/CHANGES?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/CHANGES (original)
+++ subversion/branches/master-passphrase/CHANGES Wed Sep 12 14:43:54 2012
@@ -26,6 +26,7 @@ http://svn.apache.org/repos/asf/subversi
* ra_serf avoids re-downloading content present in pristine store (r1333936)
* 'svn mergeinfo' now honors the --revision (-r) option (issue #4199)
* new --search and --isearch options for 'svn log' (r1354666, -830)
+ * new --search-and and --isearch-and options for 'svn log' (r1383518)
* new built-in interactive text conflict merge tool (r1357864, et al)
* new 'svn --version --verbose' option shows runtime environment info
@@ -487,6 +488,20 @@ the 1.6 release: http://subversion.apac
* fixed setting binary properties in JavaHL (issue #3770)
* fix type mapping of svn_txdelta_window_t in python bindings (issue #3688)
+Version 1.6.19
+(10 Sep 2012, from /branches/1.6.x)
+http://svn.apache.org/repos/asf/subversion/tags/1.6.19
+
+ - Client-side bugfixes:
+ * handle missing svn:date reported by svnserve gracefully (r1306111)
+
+ - Server-side bugfixes:
+ * fix possible server hang if a hook script fails to start (r1330410)
+ * fix write-through proxy commit regression introduced in 1.6.17 (r1088602)
+ * partial sync drops properties when converting to adds (issue #4184)
+
+ - Developer-visible changes:
+ * fix the testsuite to avoid FAILs on APR hash order (r1230714, et al)
Version 1.6.18
(29 Mar 2012, from /branches/1.6.x)
Modified: subversion/branches/master-passphrase/Makefile.in
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/Makefile.in?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/Makefile.in (original)
+++ subversion/branches/master-passphrase/Makefile.in Wed Sep 12 14:43:54 2012
@@ -250,6 +250,7 @@ INSTALL_INCLUDE = $(INSTALL) -m 644
INSTALL_MOD_SHARED = @APXS@ -i -S LIBEXECDIR="$(APACHE_LIBEXECDIR)" @MOD_ACTIVATION@
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_LOCALE = $(INSTALL_DATA)
+INSTALL_APACHE_MODS = @INSTALL_APACHE_MODS@
### this isn't correct yet
INSTALL_SWIG_PY = $(INSTALL_LIB)
Modified: subversion/branches/master-passphrase/build.conf
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build.conf?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build.conf (original)
+++ subversion/branches/master-passphrase/build.conf Wed Sep 12 14:43:54 2012
@@ -83,6 +83,27 @@ swig-checkout-files = common.swg swigrun
#
# BUILD TARGETS
#
+# Target parameters:
+# description - optional build target description
+# type - the target type, defines how to build it
+# when - the name of an autoconf-substed variable that muset be
+# defined to either "true" or "false", that determines
+# whether this target should be built and installed.
+# path - relative path to target sources
+# sources - explicit list of target sources
+# install - the installation group/type
+# manpages - the man pages associated with this target
+# libs - libraries that this target depends on
+# nonlibs - dependencies that are not linked into the target
+# lang - bindings for language $(lang)
+# msvc-libs - additional libraries to link with on Windows
+# msvc-export - additional list of files to expose in dsp/vc(x)proj
+# msvc-static - visual studio target produces only a static lib
+# add-deps - expands to additional autoconf-defined dependencies
+# add-install-deps - like add-deps, but for the install step
+# external-lib - expands to additional autoconf-defined libs
+# external-project - visual studio project to depend on
+#
# The subversion command-line client
[svn]
@@ -327,6 +348,7 @@ msvc-export = svn_wc.h private\svn_wc_pr
# Subversion plugin for Apache's mod_dav
[mod_dav_svn]
description = Subversion plug-in for the Apache DAV module
+when = INSTALL_APACHE_MODS
type = apache-mod
path = subversion/mod_dav_svn
sources = *.c reports/*.c posts/*.c
@@ -337,6 +359,7 @@ msvc-libs = mod_dav.lib libhttpd.lib
[mod_authz_svn]
description = Subversion path-based authorization module for Apache
+when = INSTALL_APACHE_MODS
type = apache-mod
path = subversion/mod_authz_svn
nonlibs = mod_dav_svn apr aprutil
@@ -346,6 +369,7 @@ msvc-libs = libhttpd.lib
[mod_dontdothat]
description = Apache Httpd module to block certain kinds of Apache Subversion requests
+when = INSTALL_APACHE_MODS
type = apache-mod
path = tools/server-side/mod_dontdothat
nonlibs = mod_dav_svn apr aprutil
@@ -1156,7 +1180,7 @@ libs = __ALL__
ra-local-test
svndiff-test vdelta-test
entries-dump atomic-ra-revprop-change wc-lock-tester wc-incomplete-tester
- diff diff3 diff4
+ diff diff3 diff4 reorg-fsfs
client-test
conflict-data-test db-test pristine-store-test entries-compat-test
op-depth-test dirent_uri-test wc-queries-test
@@ -1205,6 +1229,13 @@ libs = __JAVAHL__ javahl-tests javahl-co
# ----------------------------------------------------------------------------
# Contrib and tools
+[reorg-fsfs]
+type = exe
+path = tools/fsfs
+sources = reorg.c
+install = tools
+libs = libsvn_delta libsvn_subr apr
+
[diff]
type = exe
path = tools/diff
Modified: subversion/branches/master-passphrase/build/ac-macros/apache.m4
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/ac-macros/apache.m4?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/ac-macros/apache.m4 (original)
+++ subversion/branches/master-passphrase/build/ac-macros/apache.m4 Wed Sep 12 14:43:54 2012
@@ -128,6 +128,7 @@ AC_ARG_WITH(apache-libexecdir,
APACHE_LIBEXECDIR="$withval"
])
+INSTALL_APACHE_MODS=false
if test -n "$APXS" && test "$APXS" != "no"; then
APXS_CC="`$APXS -q CC`"
APACHE_INCLUDES="$APACHE_INCLUDES -I$APXS_INCLUDE"
@@ -140,6 +141,7 @@ if test -n "$APXS" && test "$APXS" != "n
BUILD_APACHE_RULE=apache-mod
INSTALL_APACHE_RULE=install-mods-shared
+ INSTALL_APACHE_MODS=true
case $host in
*-*-cygwin*)
@@ -157,6 +159,7 @@ AC_SUBST(APXS)
AC_SUBST(APACHE_LDFLAGS)
AC_SUBST(APACHE_INCLUDES)
AC_SUBST(APACHE_LIBEXECDIR)
+AC_SUBST(INSTALL_APACHE_MODS)
# there aren't any flags that interest us ...
#if test -n "$APXS" && test "$APXS" != "no"; then
Modified: subversion/branches/master-passphrase/build/ac-macros/macosx.m4
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/ac-macros/macosx.m4?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/ac-macros/macosx.m4 (original)
+++ subversion/branches/master-passphrase/build/ac-macros/macosx.m4 Wed Sep 12 14:43:54 2012
@@ -19,6 +19,32 @@ dnl ====================================
dnl
dnl Mac OS X specific checks
+dnl SVN_LIB_MACHO_ITERATE
+dnl Check for _dyld_image_name and _dyld_image_header availability
+AC_DEFUN(SVN_LIB_MACHO_ITERATE,
+[
+ AC_MSG_CHECKING([for Mach-O dynamic module iteration functions])
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <mach-o/dyld.h>
+ #include <mach-o/loader.h>
+ int check(void) {
+ const struct mach_header *header = _dyld_get_image_header(0);
+ const char *name = _dyld_get_image_name(0);
+ if (name && header) return 1;
+ return 0;
+ }
+ ]],[[]])],[have_macho_iterate=yes],[have_macho_iterate=no])
+
+ if test "$have_macho_iterate" = "yes"; then
+ AC_DEFINE([SVN_HAVE_MACHO_ITERATE], [1],
+ [Is Mach-O low-level _dyld API available?])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
dnl SVN_LIB_MACOS_PLIST
dnl Assign variables for Mac OS property list support
AC_DEFUN(SVN_LIB_MACOS_PLIST,
Modified: subversion/branches/master-passphrase/build/ac-macros/sqlite.m4
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/ac-macros/sqlite.m4?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/ac-macros/sqlite.m4 (original)
+++ subversion/branches/master-passphrase/build/ac-macros/sqlite.m4 Wed Sep 12 14:43:54 2012
@@ -189,10 +189,15 @@ AC_DEFUN(SVN_SQLITE_FILE_CONFIG,
SQLITE_VERSION_OKAY
#endif],
[AC_MSG_RESULT([amalgamation found and is okay])
+ _SVN_SQLITE_DSO_LIBS
AC_DEFINE(SVN_SQLITE_INLINE, 1,
[Defined if svn should use the amalgamated version of sqlite])
SVN_SQLITE_INCLUDES="-I`dirname $sqlite_amalg`"
- SVN_SQLITE_LIBS="-ldl -lpthread"
+ if test -n "$svn_sqlite_dso_ldflags"; then
+ SVN_SQLITE_LIBS="$svn_sqlite_dso_ldflags -lpthread"
+ else
+ SVN_SQLITE_LIBS="-lpthread"
+ fi
svn_lib_sqlite="yes"],
[AC_MSG_RESULT([unsupported amalgamation SQLite version])])
fi
@@ -244,3 +249,50 @@ AC_DEFUN(SVN_DOWNLOAD_SQLITE,
echo ""
AC_MSG_ERROR([Subversion requires SQLite])
])
+
+dnl _SVN_SQLITE_DSO_LIBS() dnl Find additional libraries that the
+dnl sqlite amalgamation code should link in order to load
+dnl shared libraries. Copied from build/libtool.m4
+AC_DEFUN(_SVN_SQLITE_DSO_LIBS,
+[
+ case $host_os in
+ beos* | mingw* | pw32* | cegcc* | cygwin*)
+ svn_sqlite_dso_ldflags=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" svn_sqlite_dso_ldflags="-ldl"],[
+ svn_sqlite_dso_ldflags=
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [svn_sqlite_dso_ldflags=],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [svn_sqlite_dso_ldflags="-ldld"],
+ [AC_CHECK_FUNC([dlopen],
+ [svn_sqlite_dso_ldflags=],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [svn_sqlite_dso_ldflags="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [svn_sqlite_dso_ldflags="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [svn_sqlite_dso_ldflags="-ldld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ AC_MSG_CHECKING([additional libraries for sqlite])
+ if test -n "$svn_sqlite_dso_ldflags"; then
+ AC_MSG_RESULT(${svn_sqlite_dso_ldflags})
+ else
+ AC_MSG_RESULT(none)
+ fi
+])
Modified: subversion/branches/master-passphrase/build/generator/gen_base.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/gen_base.py?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/gen_base.py (original)
+++ subversion/branches/master-passphrase/build/generator/gen_base.py Wed Sep 12 14:43:54 2012
@@ -300,15 +300,16 @@ for _dt in dep_types:
globals()[_dt] = _dt
class DependencyNode:
- def __init__(self, filename):
+ def __init__(self, filename, when = None):
self.filename = filename
+ self.when = when
def __str__(self):
return self.filename
class ObjectFile(DependencyNode):
- def __init__(self, filename, compile_cmd = None):
- DependencyNode.__init__(self, filename)
+ def __init__(self, filename, compile_cmd = None, when = None):
+ DependencyNode.__init__(self, filename, when)
self.compile_cmd = compile_cmd
self.source_generated = 0
@@ -362,6 +363,7 @@ class Target(DependencyNode):
self.name = name
self.gen_obj = gen_obj
self.desc = options.get('description')
+ self.when = options.get('when')
self.path = options.get('path', '')
self.add_deps = options.get('add-deps', '')
self.add_install_deps = options.get('add-install-deps', '')
@@ -434,7 +436,7 @@ class TargetLinked(Target):
else:
raise GenError('ERROR: unknown file extension on ' + src)
- ofile = ObjectFile(objname, self.compile_cmd)
+ ofile = ObjectFile(objname, self.compile_cmd, self.when)
# object depends upon source
self.gen_obj.graph.add(DT_OBJECT, ofile, SourceFile(src, reldir))
@@ -554,7 +556,7 @@ class TargetI18N(Target):
else:
raise GenError('ERROR: unknown file extension on ' + src)
- ofile = ObjectFile(objname, self.compile_cmd)
+ ofile = ObjectFile(objname, self.compile_cmd, self.when)
# object depends upon source
self.gen_obj.graph.add(DT_OBJECT, ofile, SourceFile(src, reldir))
@@ -699,7 +701,8 @@ class TargetJavaHeaders(TargetJava):
class_pkg_list = self.package.split('.')
class_pkg = build_path_join(*class_pkg_list)
class_file = ObjectFile(build_path_join(self.classes, class_pkg,
- class_name + self.objext))
+ class_name + self.objext),
+ self.when)
class_file.source_generated = 1
class_file.class_name = class_name
hfile = HeaderFile(class_header, self.package + '.' + class_name,
@@ -759,7 +762,7 @@ class TargetJavaClasses(TargetJava):
else:
raise GenError('ERROR: unknown file extension on "' + src + '"')
- ofile = ObjectFile(objname, self.compile_cmd)
+ ofile = ObjectFile(objname, self.compile_cmd, self.when)
sfile = SourceFile(src, reldir)
sfile.sourcepath = sourcepath
@@ -1126,6 +1129,10 @@ class IncludeDependencyInfo:
# of <>/"" convention.
return hdrs
+class FileInfo:
+ def __init__(self, filename, when):
+ self.filename = filename
+ self.when = when
def _sorted_files(graph, area):
"Given a list of targets, sort them based on their dependencies."
@@ -1163,9 +1170,9 @@ def _sorted_files(graph, area):
s = graph.get_sources(DT_LINK, t.name)
for d in s:
if d not in targets:
- files.append(d.filename)
+ files.append(FileInfo(d.filename, d.when))
else:
- files.append(t.filename)
+ files.append(FileInfo(t.filename, t.when))
# don't consider this target any more
targets.remove(t)
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=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/gen_make.py (original)
+++ subversion/branches/master-passphrase/build/generator/gen_make.py Wed Sep 12 14:43:54 2012
@@ -289,6 +289,7 @@ class Generator(gen_base.GeneratorBase):
add_deps=target_ob.add_deps,
objects=objects,
deps=deps,
+ when=target_ob.when,
)
data.target.append(ezt_target)
@@ -375,11 +376,11 @@ class Generator(gen_base.GeneratorBase):
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)
+ dirname, fname = build_path_splitfile(file.filename)
base, ext = os.path.splitext(fname)
name = base.replace('mod_', '')
- return _eztdata(fullname=file, dirname=dirname,
- name=name, filename=fname)
+ return _eztdata(fullname=file.filename, dirname=dirname,
+ name=name, filename=fname, when=file.when)
if area == 'apache-mod':
data.areas.append(ezt_area)
@@ -396,7 +397,8 @@ class Generator(gen_base.GeneratorBase):
# ### TODO: This is a hack. See discussion here:
# ### http://mid.gmane.org/20120316191639.GA28451@daniel3.local
- apache_files = [t.filename for t in inst_targets
+ apache_files = [gen_base.FileInfo(t.filename, t.when)
+ for t in inst_targets
if isinstance(t, gen_base.TargetApacheMod)]
files = [f for f in files if f not in apache_files]
@@ -404,9 +406,9 @@ class Generator(gen_base.GeneratorBase):
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)
- ezt_file = _eztdata(dirname=dirname, fullname=file,
- filename=fname)
+ dirname, fname = build_path_splitfile(file.filename)
+ ezt_file = _eztdata(dirname=dirname, fullname=file.filename,
+ filename=fname, when=file.when)
if area == 'locale':
lang, objext = os.path.splitext(fname)
installdir = '$(DESTDIR)$(%sdir)/%s/LC_MESSAGES' % (area_var, lang)
@@ -456,6 +458,7 @@ class Generator(gen_base.GeneratorBase):
for objname, sources in obj_deps:
dep = _eztdata(name=str(objname),
+ when=objname.when,
deps=list(map(str, sources)),
cmd=objname.compile_cmd,
source=str(sources[0]))
Modified: subversion/branches/master-passphrase/build/generator/gen_win.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/gen_win.py?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/gen_win.py (original)
+++ subversion/branches/master-passphrase/build/generator/gen_win.py Wed Sep 12 14:43:54 2012
@@ -1615,7 +1615,6 @@ class POFile:
"Item class for holding po file info"
def __init__(self, base):
self.po = base + '.po'
- self.spo = base + '.spo'
self.mo = base + '.mo'
# MSVC paths always use backslashes regardless of current platform
Modified: subversion/branches/master-passphrase/build/generator/templates/build_locale.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/templates/build_locale.ezt?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/templates/build_locale.ezt (original)
+++ subversion/branches/master-passphrase/build/generator/templates/build_locale.ezt Wed Sep 12 14:43:54 2012
@@ -22,11 +22,8 @@ cd ..\..\..\subversion\po
mkdir ..\..\%1\mo
set exitcode=0
[for pofiles]echo Running msgfmt on [pofiles.po]...
-python ..\..\build\strip-po-charset.py [pofiles.po] [pofiles.spo]
+msgfmt.exe -c -o ..\..\%1\mo\[pofiles.mo] [pofiles.po]
if errorlevel 1 goto err
-msgfmt.exe -c -o ..\..\%1\mo\[pofiles.mo] [pofiles.spo]
-if errorlevel 1 goto err
-del [pofiles.spo]
[end]
goto end
@rem **************************************************************************
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=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/templates/makefile.ezt (original)
+++ subversion/branches/master-passphrase/build/generator/templates/makefile.ezt Wed Sep 12 14:43:54 2012
@@ -112,7 +112,7 @@ $([target.varname]_OBJECTS): $([target.v
[else][target.varname]_DEPS = [target.add_deps][for target.objects] [target.objects][end][for target.deps] [target.deps][end]
[target.varname]_OBJECTS =[for target.objnames] [target.objnames][end]
[target.filename]: $([target.varname]_DEPS)
- cd [target.path] && [target.link_cmd] $([target.varname]_LDFLAGS) -o [target.basename] [target.undefined_flag] $([target.varname]_OBJECTS)[for target.libs] [target.libs][end] $(LIBS)
+ [if-any target.when]if $([target.when]) ; then [else][end]cd [target.path] && [target.link_cmd] $([target.varname]_LDFLAGS) -o [target.basename] [target.undefined_flag] $([target.varname]_OBJECTS)[for target.libs] [target.libs][end] $(LIBS)[if-any target.when] ; else echo "fake" > [target.filename] ; fi[else][end]
[end][end][end]
########################################
@@ -127,13 +127,13 @@ $([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]
+ [if-any areas.files.when]if $([areas.files.when]) ; then [else][end]cd [areas.files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ; $(INSTALL_MOD_SHARED) -n [areas.files.name] [areas.files.filename][if-any areas.files.when] ; fi[else][end][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][for areas.apache_files]
- cd [areas.apache_files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ; $(INSTALL_MOD_SHARED) -n [areas.apache_files.name] [areas.apache_files.filename][end]
+ [if-any areas.files.when]if $([areas.files.when]) ; then [else][end]cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar]) [areas.files.filename] [areas.files.installdir]/$(PACKAGE_NAME)[areas.files.objext][if-any areas.files.when] ; fi[else][end][else]
+ [if-any areas.files.when]if $([areas.files.when]) ; then [else][end]cd [areas.files.dirname] ; $(INSTALL_[areas.uppervar]) [areas.files.filename] $(DESTDIR)[areas.files.install_fname][if-any areas.files.when] ; fi[else][end][end][end][for areas.apache_files]
+ [if-any areas.apache_files.when]if $([areas.apache_files.when]) ; then [else][end]cd [areas.apache_files.dirname] ; $(MKDIR) "$(APACHE_LIBEXECDIR)" ; $(INSTALL_MOD_SHARED) -n [areas.apache_files.name] [areas.apache_files.filename][if-any areas.apache_files.when] ; fi[else][end][end]
[if-any areas.extra_install] $(INSTALL_EXTRA_[areas.uppervar])
[end][end][end]
@@ -156,5 +156,5 @@ install-include:[for includes] [includes
########################################
[for deps]
[deps.name]:[for deps.deps] [deps.deps][end][if-any deps.cmd]
- [deps.cmd] [if-any deps.generated][else]$(canonicalized_srcdir)[end][deps.source][end]
+ [if-any deps.when]if $([deps.when]) ; then [else][end][deps.cmd] [if-any deps.generated][else]$(canonicalized_srcdir)[end][deps.source][end][if-any deps.when] ; else echo "fake" > [deps.name] ; fi[else][end]
[end]
Modified: subversion/branches/master-passphrase/build/generator/templates/svn_locale.vcxproj.ezt
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/generator/templates/svn_locale.vcxproj.ezt?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/generator/templates/svn_locale.vcxproj.ezt (original)
+++ subversion/branches/master-passphrase/build/generator/templates/svn_locale.vcxproj.ezt Wed Sep 12 14:43:54 2012
@@ -32,7 +32,7 @@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
[for platforms][for configs] <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='[configs]|[platforms]'" Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
+ <ConfigurationType>Makefile</ConfigurationType>
<CLRSupport>false</CLRSupport>
<PlatformToolset>[toolset_version]</PlatformToolset>
</PropertyGroup>
Modified: subversion/branches/master-passphrase/build/run_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/build/run_tests.py?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/build/run_tests.py (original)
+++ subversion/branches/master-passphrase/build/run_tests.py Wed Sep 12 14:43:54 2012
@@ -317,6 +317,12 @@ class TestHarness:
print("WARNING: no failures, but '%s' exists from a previous run."
% self.faillogfile)
+ # Summary.
+ if xpassed or failed_list:
+ print("SUMMARY: Some tests failed.\n")
+ else:
+ print("SUMMARY: All tests successful.\n")
+
self._close_log()
return failed
Modified: subversion/branches/master-passphrase/configure.ac
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/configure.ac?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/configure.ac (original)
+++ subversion/branches/master-passphrase/configure.ac Wed Sep 12 14:43:54 2012
@@ -479,8 +479,9 @@ if test "$svn_lib_sasl" = "yes"; then
[Defined if Cyrus SASL v2 is present on the system])
fi
-dnl Mac OS soecufuc features -------------------
+dnl Mac OS specific features -------------------
+SVN_LIB_MACHO_ITERATE
SVN_LIB_MACOS_PLIST
SVN_LIB_MACOS_KEYCHAIN
@@ -501,7 +502,7 @@ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
CPPFLAGS="$old_CPPFLAGS"
-dnl D-Bus (required for support for KWallet and GNOME Keyring) -------------------
+dnl D-Bus (required for support for KWallet) -------------------
if test -n "$PKG_CONFIG"; then
AC_MSG_CHECKING([for D-Bus .pc file])
@@ -570,31 +571,27 @@ if test "$with_gnome_keyring" != "no"; t
if test "$svn_enable_shared" = "yes"; then
if test "$APR_HAS_DSO" = "yes"; then
if test -n "$PKG_CONFIG"; then
- if test "$HAVE_DBUS" = "yes"; then
- AC_MSG_CHECKING([for GLib and GNOME Keyring .pc files])
- if $PKG_CONFIG --exists glib-2.0 gnome-keyring-1; then
+ AC_MSG_CHECKING([for GLib and GNOME Keyring .pc files])
+ if $PKG_CONFIG --exists glib-2.0 gnome-keyring-1; then
+ AC_MSG_RESULT([yes])
+ old_CPPFLAGS="$CPPFLAGS"
+ SVN_GNOME_KEYRING_INCLUDES="`$PKG_CONFIG --cflags glib-2.0 gnome-keyring-1`"
+ CPPFLAGS="$CPPFLAGS $SVN_GNOME_KEYRING_INCLUDES"
+ AC_CHECK_HEADER(gnome-keyring.h, with_gnome_keyring=yes, with_gnome_keyring=no)
+ AC_MSG_CHECKING([for GNOME Keyring])
+ if test "$with_gnome_keyring" = "yes"; then
AC_MSG_RESULT([yes])
- old_CPPFLAGS="$CPPFLAGS"
- SVN_GNOME_KEYRING_INCLUDES="$DBUS_CPPFLAGS `$PKG_CONFIG --cflags glib-2.0 gnome-keyring-1`"
- CPPFLAGS="$CPPFLAGS $SVN_GNOME_KEYRING_INCLUDES"
- AC_CHECK_HEADER(gnome-keyring.h, with_gnome_keyring=yes, with_gnome_keyring=no)
- AC_MSG_CHECKING([for GNOME Keyring])
- if test "$with_gnome_keyring" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([SVN_HAVE_GNOME_KEYRING], [1],
- [Is GNOME Keyring support enabled?])
- CPPFLAGS="$old_CPPFLAGS"
- SVN_GNOME_KEYRING_LIBS="$DBUS_LIBS `$PKG_CONFIG --libs glib-2.0 gnome-keyring-1`"
- else
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot find GNOME Keyring])
- fi
+ AC_DEFINE([SVN_HAVE_GNOME_KEYRING], [1],
+ [Is GNOME Keyring support enabled?])
+ CPPFLAGS="$old_CPPFLAGS"
+ SVN_GNOME_KEYRING_LIBS="`$PKG_CONFIG --libs glib-2.0 gnome-keyring-1`"
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot find GLib and GNOME Keyring .pc files])
+ AC_MSG_ERROR([cannot find GNOME Keyring])
fi
else
- AC_MSG_ERROR([cannot find D-Bus])
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([cannot find GLib and GNOME Keyring .pc files])
fi
else
AC_MSG_ERROR([cannot find pkg-config])
Modified: subversion/branches/master-passphrase/contrib/client-side/emacs/dsvn.el
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/contrib/client-side/emacs/dsvn.el?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/contrib/client-side/emacs/dsvn.el (original)
+++ subversion/branches/master-passphrase/contrib/client-side/emacs/dsvn.el Wed Sep 12 14:43:54 2012
@@ -360,21 +360,55 @@ Argument ARG are the command line argume
(append svn-diff-args (split-string arg))
'diff-mode))
+(defun svn-add-unversioned-files-p (files)
+ "Ask the user whether FILES should be added; return the answer."
+ (let ((buf (get-buffer-create "*svn-unversioned-files*")))
+ (with-current-buffer buf
+ (setq buffer-read-only nil)
+ (erase-buffer)
+ (insert (mapconcat (lambda (f) f) files "\n"))
+ (setq buffer-read-only t)
+ (goto-char (point-min))
+ (save-selected-window
+ (pop-to-buffer buf)
+ (shrink-window-if-larger-than-buffer)
+ (let* ((n (length files))
+ (add-them (y-or-n-p
+ (if (= n 1)
+ "Add this item first? "
+ (format "Add these %d items first? " n)))))
+ (let ((win (get-buffer-window buf)))
+ (if win
+ (condition-case nil
+ (delete-window win)
+ (error nil))))
+ (bury-buffer buf)
+ add-them)))))
+
(defun svn-commit ()
"Commit changes to one or more files."
(interactive)
(save-some-buffers)
- (let ((status-buf (current-buffer))
- (commit-buf (get-buffer-create "*svn commit*"))
- (window-conf (and svn-restore-windows (current-window-configuration)))
- (listfun (lambda () (with-current-buffer log-edit-parent-buffer
- (svn-action-files)))))
- (log-edit 'svn-confirm-commit t
- (if (< emacs-major-version 23)
- listfun
- (list (cons 'log-edit-listfun listfun)))
- commit-buf)
- (set (make-local-variable 'saved-window-configuration) window-conf)))
+ (let ((unversioned-files (svn-action-files
+ (lambda (pos) (eq (svn-file-status pos) ?\?)))))
+ (if unversioned-files
+ (if (svn-add-unversioned-files-p unversioned-files)
+ (progn
+ (message "Adding unversioned items. Please re-commit when ready.")
+ (svn-run 'add unversioned-files "Adding files"))
+ (message "Files not added; nothing committed."))
+ (let ((status-buf (current-buffer))
+ (commit-buf (get-buffer-create "*svn commit*"))
+ (window-conf (and svn-restore-windows
+ (current-window-configuration)))
+ (listfun (lambda () (with-current-buffer log-edit-parent-buffer
+ (svn-action-files)))))
+ (log-edit 'svn-confirm-commit t
+ (if (< emacs-major-version 23)
+ listfun
+ (list (cons 'log-edit-listfun listfun)))
+ commit-buf)
+ (set (make-local-variable 'saved-window-configuration) window-conf)))))
(defun svn-confirm-commit ()
"Commit changes with the current buffer as commit message."
@@ -1643,27 +1677,24 @@ Set it if MARK is non-NIL, and clear it
"Return a list of lists (FILE POS) to act on.
Optional argument PRED is a predicate function that is called with POS as
argument."
- (let ((files ())
- (pos (next-single-property-change (point-min) 'svn-file)))
- (while pos
- (when (and (get-text-property pos 'svn-mark)
- (or (not pred)
- (funcall pred pos)))
- (setq files (cons (list (get-text-property pos 'svn-file)
- pos)
- files)))
- (setq pos (next-single-property-change pos 'svn-file)))
- (if (null files)
- (let ((file (svn-getprop (point) 'file)))
- (unless file
- (error "No file on this line"))
- (when (and pred
- (not (funcall pred (line-beginning-position))))
- (error "Invalid file"))
- (list (list file
- (save-excursion
- (beginning-of-line)
- (point)))))
+ (let ((positions ()))
+ (let ((pos (next-single-property-change (point-min) 'svn-file)))
+ (while pos
+ (when (get-text-property pos 'svn-mark)
+ (setq positions (cons pos positions)))
+ (setq pos (next-single-property-change pos 'svn-file))))
+ (when (null positions)
+ (unless (svn-getprop (point) 'file)
+ (error "No file on this line"))
+ (setq positions (list (line-beginning-position))))
+
+ (let ((files ()))
+ (mapc (lambda (pos)
+ (when (or (not pred) (funcall pred pos))
+ (setq files (cons (list (get-text-property pos 'svn-file)
+ pos)
+ files))))
+ (reverse positions))
(reverse files))))
(defun svn-action-files (&optional pred)
Modified: subversion/branches/master-passphrase/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java (original)
+++ subversion/branches/master-passphrase/subversion/bindings/javahl/src/org/apache/subversion/javahl/ConflictDescriptor.java Wed Sep 12 14:43:54 2012
@@ -250,7 +250,19 @@ public class ConflictDescriptor
/**
* Object is already replaced.
*/
- replaced;
+ replaced,
+
+ /**
+ * Object is moved away.
+ * @since 1.8
+ */
+ moved_away,
+
+ /**
+ * Object is moved here.
+ * @since 1.8
+ */
+ moved_here;
}
public enum Operation
Modified: subversion/branches/master-passphrase/subversion/include/private/svn_debug.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_debug.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/private/svn_debug.h (original)
+++ subversion/branches/master-passphrase/subversion/include/private/svn_debug.h Wed Sep 12 14:43:54 2012
@@ -31,7 +31,9 @@
### remain in the code. at that point, we can rejigger this header. */
#ifdef SVN_DEBUG
-#include <stdio.h>
+#define APR_WANT_STDIO
+#include <apr_want.h>
+#include <apr_hash.h>
#ifdef __cplusplus
extern "C" {
Modified: subversion/branches/master-passphrase/subversion/include/private/svn_eol_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_eol_private.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/private/svn_eol_private.h (original)
+++ subversion/branches/master-passphrase/subversion/include/private/svn_eol_private.h Wed Sep 12 14:43:54 2012
@@ -37,6 +37,20 @@
extern "C" {
#endif /* __cplusplus */
+/* Constants used by various chunky string processing functions.
+ */
+#if APR_SIZEOF_VOIDP == 8
+# define SVN__LOWER_7BITS_SET 0x7f7f7f7f7f7f7f7f
+# define SVN__BIT_7_SET 0x8080808080808080
+# define SVN__R_MASK 0x0a0a0a0a0a0a0a0a
+# define SVN__N_MASK 0x0d0d0d0d0d0d0d0d
+#else
+# define SVN__LOWER_7BITS_SET 0x7f7f7f7f
+# define SVN__BIT_7_SET 0x80808080
+# define SVN__R_MASK 0x0a0a0a0a
+# define SVN__N_MASK 0x0d0d0d0d
+#endif
+
/* Generic EOL character helper routines */
/* Look for the start of an end-of-line sequence (i.e. CR or LF)
Modified: subversion/branches/master-passphrase/subversion/include/private/svn_sqlite.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/private/svn_sqlite.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/private/svn_sqlite.h (original)
+++ subversion/branches/master-passphrase/subversion/include/private/svn_sqlite.h Wed Sep 12 14:43:54 2012
@@ -37,6 +37,17 @@ extern "C" {
#endif /* __cplusplus */
+/* Because the SQLite code can be inlined into libsvn_subre/sqlite.c,
+ we define accessors to its compile-time and run-time version
+ numbers here. */
+
+/* Return the value that SQLITE_VERSION had at compile time. */
+const char *svn_sqlite__compiled_version(void);
+
+/* Return the value of sqlite3_libversion() at run time. */
+const char *svn_sqlite__runtime_version(void);
+
+
typedef struct svn_sqlite__db_t svn_sqlite__db_t;
typedef struct svn_sqlite__stmt_t svn_sqlite__stmt_t;
typedef struct svn_sqlite__context_t svn_sqlite__context_t;
Modified: subversion/branches/master-passphrase/subversion/include/svn_config.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_config.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_config.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_config.h Wed Sep 12 14:43:54 2012
@@ -93,6 +93,8 @@ typedef struct svn_config_t svn_config_t
#define SVN_CONFIG_OPTION_PASSWORD_STORES "password-stores"
#define SVN_CONFIG_OPTION_KWALLET_WALLET "kwallet-wallet"
#define SVN_CONFIG_OPTION_KWALLET_SVN_APPLICATION_NAME_WITH_PID "kwallet-svn-application-name-with-pid"
+/** @since New in 1.8. */
+#define SVN_CONFIG_OPTION_SSL_CLIENT_CERT_FILE_PROMPT "ssl-client-cert-file-prompt"
/* The majority of options of the "auth" section
* has been moved to SVN_CONFIG_CATEGORY_SERVERS. */
#define SVN_CONFIG_SECTION_HELPERS "helpers"
@@ -132,12 +134,12 @@ typedef struct svn_config_t svn_config_t
#define SVN_CONFIG_OPTION_AUTHZ_DB "authz-db"
/** @since New in 1.7. */
#define SVN_CONFIG_OPTION_FORCE_USERNAME_CASE "force-username-case"
+/** @since New in 1.8. */
+#define SVN_CONFIG_OPTION_HOOKS_ENV "hooks-env"
#define SVN_CONFIG_SECTION_SASL "sasl"
#define SVN_CONFIG_OPTION_USE_SASL "use-sasl"
#define SVN_CONFIG_OPTION_MIN_SSF "min-encryption"
#define SVN_CONFIG_OPTION_MAX_SSF "max-encryption"
-/** @since New in 1.8. */
-#define SVN_CONFIG_SECTION_HOOKS_ENV "hooks-env"
/* For repository password database */
#define SVN_CONFIG_SECTION_USERS "users"
@@ -627,6 +629,26 @@ svn_config_get_user_config_path(const ch
const char *fname,
apr_pool_t *pool);
+/** Create a deep copy of the config object @a src and return
+ * it in @a cfgp, allocating the memory in @a pool.
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_config_dup(svn_config_t **cfgp,
+ svn_config_t *src,
+ apr_pool_t *pool);
+
+/** Create a deep copy of the config hash @a src_hash and return
+ * it in @a cfg_hash, allocating the memory in @a pool.
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_config_copy_config(apr_hash_t **cfg_hash,
+ apr_hash_t *src_hash,
+ apr_pool_t *pool);
+
/** @} */
#ifdef __cplusplus
Modified: subversion/branches/master-passphrase/subversion/include/svn_dav.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_dav.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_dav.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_dav.h Wed Sep 12 14:43:54 2012
@@ -177,6 +177,13 @@ extern "C" {
* @since New in 1.7. */
#define SVN_DAV_VTXN_NAME_HEADER "SVN-VTxn-Name"
+/** This header is used in the OPTIONS response to identify named
+ * skel-based POST request types which the server is prepared to
+ * handle. (HTTP protocol v2 only)
+ * @since New in 1.8. */
+#define SVN_DAV_SUPPORTED_POSTS_HEADER "SVN-Supported-Posts"
+
+
/**
* @name Fulltext MD5 headers
*
Modified: subversion/branches/master-passphrase/subversion/include/svn_fs.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_fs.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_fs.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_fs.h Wed Sep 12 14:43:54 2012
@@ -402,6 +402,24 @@ svn_fs_recover(const char *path,
apr_pool_t *pool);
+/**
+ * Take an exclusive lock on @a fs to prevent commits and then invoke
+ * @a freeze_body passing @a baton.
+ *
+ * @note The BDB backend doesn't implement this feature so most
+ * callers should not call this function directly but should use the
+ * higher level #svn_repos_freeze instead.
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_fs_freeze(svn_fs_t *fs,
+ svn_error_t *(*freeze_body)(void *baton, apr_pool_t *pool),
+ void *baton,
+ apr_pool_t *pool);
+
+
+
/** Subversion filesystems based on Berkeley DB.
*
* The following functions are specific to Berkeley DB filesystems.
Modified: subversion/branches/master-passphrase/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_repos.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_repos.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_repos.h Wed Sep 12 14:43:54 2012
@@ -653,6 +653,20 @@ svn_error_t *
svn_repos_recover(const char *path,
apr_pool_t *pool);
+/**
+ * Take an exclusive lock on @a path to prevent commits and then
+ * invoke @a freeze_body passing @a baton. The repository may be
+ * readable by Subversion while frozen, or it may be unreadable,
+ * depending on which FS backend the repository uses.
+ *
+ * @since New in 1.8.
+ */
+svn_error_t *
+svn_repos_freeze(const char *path,
+ svn_error_t *(*freeze_body)(void *baton, apr_pool_t *pool),
+ void *baton,
+ apr_pool_t *pool);
+
/** This function is a wrapper around svn_fs_berkeley_logfiles(),
* returning log file paths relative to the root of the repository.
*
@@ -764,16 +778,25 @@ const char *
svn_repos_post_unlock_hook(svn_repos_t *repos,
apr_pool_t *pool);
-/** Set the environment that @a repos's hooks will inherit to @a hooks_env,
- * a hash table where keys and values represent names and values of environment
- * variables. @a hooks_env must live at least as long as @a repos.
+/** Set the environment that @a repos's hooks will inherit.
+ * The environment is specified in a file at @a hooks_env_path.
+ * If @a hooks_env_path is @c NULL, the file is searched at its
+ * default location in the repository. If @a hooks_env_path is
+ * not absolute, it specifies a path relative to the parent of
+ * the file's default location in the repository.
*
- * If this function is not called, hooks will run in an empty environment.
+ * The @a result_pool should be the same pool that @a repos was allocated in.
+ * The @a scratch_pool is used for temporary allocations.
+ *
+ * If this function is not called, or if the file does not list any
+ * environment variables, hooks will run in an empty environment.
*
* @since New in 1.8. */
-void
+svn_error_t *
svn_repos_hooks_setenv(svn_repos_t *repos,
- apr_hash_t *hooks_env);
+ const char *hooks_env_path,
+ apr_pool_t *result_pool,
+ apr_pool_t *scratch_pool);
/** @} */
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=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_string.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_string.h Wed Sep 12 14:43:54 2012
@@ -307,6 +307,45 @@ void
svn_stringbuf_appendcstr(svn_stringbuf_t *targetstr,
const char *cstr);
+/** Read @a count bytes from @a bytes and insert them into @a str at
+ * position @a pos and following. The resulting string will be
+ * @c count+str->len bytes long. If @c pos is larger or equal to the
+ * number of bytes currently used in @a str, simply append @a bytes.
+ *
+ * Reallocs if necessary. @a str is affected, nothing else is.
+ *
+ * @note The inserted string may be a sub-range if @a str.
+ */
+void
+svn_stringbuf_insert(svn_stringbuf_t *str,
+ apr_size_t pos,
+ const char *bytes,
+ apr_size_t count);
+
+/** Removes @a count bytes from @a str, starting at position @a pos.
+ * If that range exceeds the current string data, @a str gets truncated
+ * at @a pos. If the latter is larger or equal to @c str->pos, this will
+ * be a no-op. Otherwise, the resulting string will be @c str->len-count
+ * bytes long.
+ */
+void
+svn_stringbuf_remove(svn_stringbuf_t *str,
+ apr_size_t pos,
+ apr_size_t count);
+
+/** Faster but functionally equivalent to the following sequence:
+ * @code
+ * svn_stringbuf_remove(str, pos, old_count);
+ * svn_stringbuf_insert(str, pos, bytes, new_count);
+ * @endcode
+ */
+void
+svn_stringbuf_replace(svn_stringbuf_t *str,
+ apr_size_t pos,
+ apr_size_t old_count,
+ const char *bytes,
+ apr_size_t new_count);
+
/** Return a duplicate of @a original_string. */
svn_stringbuf_t *
svn_stringbuf_dup(const svn_stringbuf_t *original_string, apr_pool_t *pool);
Modified: subversion/branches/master-passphrase/subversion/include/svn_version.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_version.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_version.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_version.h Wed Sep 12 14:43:54 2012
@@ -34,6 +34,7 @@
#ifndef APR_STRINGIFY
#include <apr_general.h>
#endif
+#include <apr_tables.h>
#include "svn_types.h"
@@ -256,6 +257,153 @@ const svn_version_t *
svn_subr_version(void);
+/**
+ * Extended version infomation, including info about the running system.
+ *
+ * @since New in 1.8.
+ */
+typedef struct svn_version_extended_t svn_version_extended_t;
+
+/**
+ * Return version information for the running program. If @a verbose
+ * is true, collect extra information that may be expensive to
+ * retrieve (for example, the OS release name, list of shared
+ * libraries, etc.). Use @a pool for all allocations.
+ *
+ * @since New in 1.8.
+ */
+const svn_version_extended_t *
+svn_version_extended(svn_boolean_t verbose,
+ apr_pool_t *pool);
+
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The date when the libsvn_subr library was compiled, in the
+ * format defined by the C standard macro @c __DATE__.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_build_date(const svn_version_extended_t *ext_info);
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The time when the libsvn_subr library was compiled, in the
+ * format defined by the C standard macro @c __TIME__.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_build_time(const svn_version_extended_t *ext_info);
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The canonical host triplet (arch-vendor-osname) of the
+ * system where libsvn_subr was compiled.
+ *
+ * @note On Unix-like systems (includng Mac OS X), this string is the
+ * same as the output of the config.guess script.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_build_host(const svn_version_extended_t *ext_info);
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The localized copyright notice.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_copyright(const svn_version_extended_t *ext_info);
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The canonical host triplet (arch-vendor-osname) of the
+ * system where the current process is running.
+ *
+ * @note This string may not be the same as the output of config.guess
+ * on the same system.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_runtime_host(const svn_version_extended_t *ext_info);
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return The "commercial" release name of the running operating
+ * system, if available. Not to be confused with, e.g., the output of
+ * "uname -v" or "uname -r". The returned value may be @c NULL.
+ *
+ * @since New in 1.8.
+ */
+const char *
+svn_version_ext_runtime_osname(const svn_version_extended_t *ext_info);
+
+/**
+ * Dependent library information.
+ * Describes the name and versions of known dependencies
+ * used by libsvn_subr.
+ *
+ * @since New in 1.8.
+ */
+typedef struct svn_version_ext_linked_lib_t
+{
+ const char *name; /**< Library name */
+ const char *compiled_version; /**< Compile-time version string */
+ const char *runtime_version; /**< Run-time version string (optional) */
+} svn_version_ext_linked_lib_t;
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return Array of svn_version_ext_linked_lib_t describing dependent
+ * libraries. The returned value may be @c NULL.
+ *
+ * @since New in 1.8.
+ */
+const apr_array_header_t *
+svn_version_ext_linked_libs(const svn_version_extended_t *ext_info);
+
+
+/**
+ * Loaded shared library information.
+ * Describes the name and, where available, version of the shared libraries
+ * loaded by the running program.
+ *
+ * @since New in 1.8.
+ */
+typedef struct svn_version_ext_loaded_lib_t
+{
+ const char *name; /**< Library name */
+ const char *version; /**< Library version (optional) */
+} svn_version_ext_loaded_lib_t;
+
+
+/**
+ * Accessor for svn_version_extended_t.
+ *
+ * @return Array of svn_version_ext_loaded_lib_t describing loaded
+ * shared libraries. The returned value may be @c NULL.
+ *
+ * @note On Mac OS X, the loaded frameworks, private frameworks and
+ * system libraries will not be listed.
+ *
+ * @since New in 1.8.
+ */
+const apr_array_header_t *
+svn_version_ext_loaded_libs(const svn_version_extended_t *ext_info);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
Modified: subversion/branches/master-passphrase/subversion/include/svn_wc.h
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/include/svn_wc.h?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/include/svn_wc.h (original)
+++ subversion/branches/master-passphrase/subversion/include/svn_wc.h Wed Sep 12 14:43:54 2012
@@ -1593,10 +1593,6 @@ typedef enum svn_wc_conflict_reason_t
svn_wc_conflict_reason_replaced,
/** Object is moved away. @since New in 1.8. */
svn_wc_conflict_reason_moved_away,
- /** Object is moved away and was edited post-move. @since New in 1.8. */
- /* ### Do we really need this. The edit state is on a different node,
- which might just change while the tree conflict exists? */
- svn_wc_conflict_reason_moved_away_and_edited,
/** Object is moved here. @since New in 1.8. */
svn_wc_conflict_reason_moved_here
Modified: subversion/branches/master-passphrase/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Wed Sep 12 14:43:54 2012
@@ -39,7 +39,6 @@
#include "svn_private_config.h"
#include <glib.h>
-#include <dbus/dbus.h>
#include <gnome-keyring.h>
@@ -429,12 +428,14 @@ simple_gnome_keyring_save_creds(svn_bool
pool);
}
+#if GLIB_CHECK_VERSION(2,6,0)
static void
log_noop(const gchar *log_domain, GLogLevelFlags log_level,
const gchar *message, gpointer user_data)
{
/* do nothing */
}
+#endif
static void
init_gnome_keyring(void)
@@ -450,7 +451,9 @@ init_gnome_keyring(void)
suppress stderr spam for not only libgnome-keyring, but for
anything else the app is linked to that uses glib logging and
doesn't specify a log_domain. */
+#if GLIB_CHECK_VERSION(2,6,0)
g_log_set_default_handler(log_noop, NULL);
+#endif
}
static const svn_auth_provider_t gnome_keyring_simple_provider = {
Modified: subversion/branches/master-passphrase/subversion/libsvn_client/diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/diff.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/diff.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/diff.c Wed Sep 12 14:43:54 2012
@@ -1044,6 +1044,9 @@ diff_content_changed(const char *path,
subpool, subpool));
SVN_ERR(svn_stream_copy3(stream, svn_stream_disown(errstream, subpool),
NULL, NULL, subpool));
+
+ /* We have a printed a diff for this path, mark it as visited. */
+ mark_path_as_visited(diff_cmd_baton, path);
}
else /* use libsvn_diff to generate the diff */
{
Modified: subversion/branches/master-passphrase/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/merge.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/merge.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/merge.c Wed Sep 12 14:43:54 2012
@@ -3519,7 +3519,7 @@ adjust_deleted_subtree_ranges(svn_client
SOURCE is cascaded from the argument of the same name in
do_directory_merge(). TARGET is the merge target. RA_SESSION is the
- session for the younger of SOURCE->url1@rev1 and SOURCE->url2@rev2.
+ session for the younger of SOURCE->loc1 and SOURCE->loc2.
Adjust the subtrees in CHILDREN_WITH_MERGEINFO so that we don't
later try to describe invalid paths in drive_merge_report_editor().
@@ -3596,8 +3596,8 @@ fix_deleted_subtree_ranges(const merge_s
described by SOURCE can potentially be merged to CHILD.
But if CHILD is a subtree we don't have the same guarantees about
- SOURCE as we do for the merge target. SOURCE->url1@rev1 and/or
- SOURCE->url2@rev2 might not exist.
+ SOURCE as we do for the merge target. SOURCE->loc1 and/or
+ SOURCE->loc2 might not exist.
If one or both doesn't exist, then adjust CHILD->REMAINING_RANGES
such that we don't later try to describe invalid subtrees in
@@ -4121,8 +4121,8 @@ filter_merged_revisions(svn_client__merg
ancestor - see 'THE CHILDREN_WITH_MERGEINFO ARRAY'. TARGET_MERGEINFO is
the working mergeinfo on CHILD.
- RA_SESSION is the session for the younger of SOURCE->url1@rev1 and
- SOURCE->url2@rev2.
+ RA_SESSION is the session for the younger of SOURCE->loc1 and
+ SOURCE->loc2.
If the function needs to consider CHILD->IMPLICIT_MERGEINFO and
CHILD_INHERITS_IMPLICIT is true, then set CHILD->IMPLICIT_MERGEINFO to the
@@ -4510,13 +4510,13 @@ populate_remaining_ranges(apr_array_head
return SVN_NO_ERROR;
}
- /* If, in the merge source's history, there was a copy from a older
- revision, then SOURCE->url2 won't exist at some range M:N, where
- source->rev1 < M < N < source->rev2. The rules of 'MERGEINFO MERGE
- SOURCE NORMALIZATION' allow this, but we must ignore these gaps when
- calculating what ranges remain to be merged from SOURCE. If we don't
- and try to merge any part of SOURCE->url2@M:N we would break the
- editor since no part of that actually exists. See
+ /* If, in the merge source's history, there was a copy from an older
+ revision, then SOURCE->loc2->url won't exist at some range M:N, where
+ SOURCE->loc1->rev < M < N < SOURCE->loc2->rev. The rules of 'MERGEINFO
+ MERGE SOURCE NORMALIZATION' allow this, but we must ignore these gaps
+ when calculating what ranges remain to be merged from SOURCE. If we
+ don't and try to merge any part of SOURCE->loc2->url@M:N we would
+ break the editor since no part of that actually exists. See
http://svn.haxx.se/dev/archive-2008-11/0618.shtml.
Find the gaps in the merge target's history, if any. Eventually
@@ -5050,8 +5050,8 @@ remove_children_with_deleted_mergeinfo(m
URL in the repository of SOURCE; they may be temporarily reparented within
this function.
- If SOURCE->ancestral is set, then SOURCE->url1@rev1 must be a
- historical ancestor of SOURCE->url2@rev2, or vice-versa (see
+ If SOURCE->ancestral is set, then SOURCE->loc1 must be a
+ historical ancestor of SOURCE->loc2, or vice-versa (see
`MERGEINFO MERGE SOURCE NORMALIZATION' for more requirements around
SOURCE in this case).
*/
@@ -5130,7 +5130,7 @@ drive_merge_report_editor(const char *ta
SVN_ERR(svn_client__ensure_ra_session_url(&old_sess1_url,
merge_b->ra_session1,
source->loc1->url, scratch_pool));
- /* Temporarily point our second RA session to SOURCE->url1, too. We use
+ /* Temporarily point our second RA session to SOURCE->loc1->url, too. We use
this to request individual file contents. */
SVN_ERR(svn_client__ensure_ra_session_url(&old_sess2_url,
merge_b->ra_session2,
@@ -5421,6 +5421,7 @@ single_file_merge_get_file(const char **
{
svn_stream_t *stream;
const char *old_sess_url;
+ svn_error_t *err;
SVN_ERR(svn_stream_open_unique(&stream, filename,
svn_dirent_dirname(wc_target, pool),
@@ -5428,9 +5429,10 @@ single_file_merge_get_file(const char **
SVN_ERR(svn_client__ensure_ra_session_url(&old_sess_url, ra_session, location->url,
pool));
- SVN_ERR(svn_ra_get_file(ra_session, "", location->rev,
- stream, NULL, props, pool));
- SVN_ERR(svn_ra_reparent(ra_session, old_sess_url, pool));
+ err = svn_ra_get_file(ra_session, "", location->rev,
+ stream, NULL, props, pool);
+ SVN_ERR(svn_error_compose_create(
+ err, svn_ra_reparent(ra_session, old_sess_url, pool)));
return svn_stream_close(stream);
}
@@ -6400,7 +6402,7 @@ remove_noop_merge_ranges(svn_rangelist_t
/*** Merge Source Normalization ***/
/* qsort-compatible sort routine, rating merge_source_t * objects to
- be in descending (youngest-to-oldest) order based on their ->rev1
+ be in descending (youngest-to-oldest) order based on their ->loc1->rev
component. */
static int
compare_merge_source_ts(const void *a,
@@ -6878,8 +6880,8 @@ subrange_source(const merge_source_t *so
and the value is the new mergeinfo for that path. Allocate additions
to RESULT_CATALOG in pool which RESULT_CATALOG was created in.
- Note: MERGE_B->RA_SESSION1 must be associated with SOURCE->url1 and
- MERGE_B->RA_SESSION2 with SOURCE->url2.
+ Note: MERGE_B->RA_SESSION1 must be associated with SOURCE->loc1->url and
+ MERGE_B->RA_SESSION2 with SOURCE->loc2->url.
*/
static svn_error_t *
do_file_merge(svn_mergeinfo_catalog_t result_catalog,
@@ -6979,15 +6981,18 @@ do_file_merge(svn_mergeinfo_catalog_t re
if (source->ancestral && (remaining_ranges->nelts > 1))
{
const char *old_sess_url;
+ svn_error_t *err;
+
SVN_ERR(svn_client__ensure_ra_session_url(&old_sess_url,
merge_b->ra_session1,
primary_src->url,
iterpool));
- SVN_ERR(remove_noop_merge_ranges(&ranges_to_merge,
- merge_b->ra_session1,
- remaining_ranges, scratch_pool));
- SVN_ERR(svn_ra_reparent(merge_b->ra_session1, old_sess_url,
- iterpool));
+ err = remove_noop_merge_ranges(&ranges_to_merge,
+ merge_b->ra_session1,
+ remaining_ranges, scratch_pool);
+ SVN_ERR(svn_error_compose_create(
+ err, svn_ra_reparent(merge_b->ra_session1, old_sess_url,
+ iterpool)));
}
for (i = 0; i < ranges_to_merge->nelts; i++)
@@ -7091,11 +7096,10 @@ do_file_merge(svn_mergeinfo_catalog_t re
r, &header_sent, iterpool);
}
- /* Ignore if temporary file not found. It may have been renamed. */
- /* (This is where we complain about missing Lisp, or better yet,
- Python...) */
- SVN_ERR(svn_io_remove_file2(tmpfile1, TRUE, iterpool));
- SVN_ERR(svn_io_remove_file2(tmpfile2, TRUE, iterpool));
+ /* Remove the temporary files. Ignore if not found: they may
+ * have been renamed. */
+ SVN_ERR(svn_io_remove_file2(tmpfile1, TRUE /*ignore*/, iterpool));
+ SVN_ERR(svn_io_remove_file2(tmpfile2, TRUE /*ignore*/, iterpool));
if ((i < (ranges_to_merge->nelts - 1))
&& is_path_conflicted_by_merge(merge_b))
@@ -8400,7 +8404,7 @@ log_noop_revs(void *baton,
SOURCE is cascaded from the argument of the same name in
do_directory_merge(). TARGET is the merge target. RA_SESSION is the
- session for SOURCE->url2@rev2.
+ session for SOURCE->loc2.
Find all the ranges required by subtrees in
CHILDREN_WITH_MERGEINFO that are *not* required by
@@ -8558,7 +8562,7 @@ remove_noop_subtree_ranges(const merge_s
MERGE_B describes the merge being performed. As this function is for a
mergeinfo-aware merge, SOURCE->ancestral should be TRUE, and
- SOURCE->url1@rev1 must be a historical ancestor of SOURCE->url2@rev2, or
+ SOURCE->loc1 must be a historical ancestor of SOURCE->loc2, or
vice-versa (see `MERGEINFO MERGE SOURCE NORMALIZATION' for more
requirements around SOURCE).
@@ -9259,8 +9263,8 @@ do_merge(apr_hash_t **modified_subtrees,
merge (unless this is record-only), followed by record-only merges
to represent the changed mergeinfo.
- The merge is between SOURCE->url1@rev1 (in URL1_RA_SESSION1) and
- SOURCE->url2@rev2 (in URL2_RA_SESSION2); YCA is their youngest
+ The diff to be merged is between SOURCE->loc1 (in URL1_RA_SESSION1)
+ and SOURCE->loc2 (in URL2_RA_SESSION2); YCA is their youngest
common ancestor.
SAME_REPOS must be true if and only if the source URLs are in the same
repository as the target working copy. Other arguments are as in
@@ -10088,9 +10092,7 @@ find_unsynced_ranges(const svn_client__p
svn_merge_range_t *))->end;
log_find_operative_baton_t log_baton;
const char *old_session_url;
-
- SVN_ERR(svn_client__ensure_ra_session_url(
- &old_session_url, ra_session, target_loc->url, scratch_pool));
+ svn_error_t *err;
log_baton.merged_catalog = merged_catalog;
log_baton.unmerged_catalog = true_unmerged_catalog;
@@ -10100,12 +10102,14 @@ find_unsynced_ranges(const svn_client__p
= svn_client__pathrev_fspath(target_loc, scratch_pool);
log_baton.result_pool = result_pool;
- SVN_ERR(get_log(ra_session, "", youngest_rev, oldest_rev,
- TRUE, /* discover_changed_paths */
- log_find_operative_revs, &log_baton,
- scratch_pool));
-
- SVN_ERR(svn_ra_reparent(ra_session, old_session_url, scratch_pool));
+ SVN_ERR(svn_client__ensure_ra_session_url(
+ &old_session_url, ra_session, target_loc->url, scratch_pool));
+ err = get_log(ra_session, "", youngest_rev, oldest_rev,
+ TRUE, /* discover_changed_paths */
+ log_find_operative_revs, &log_baton,
+ scratch_pool);
+ SVN_ERR(svn_error_compose_create(
+ err, svn_ra_reparent(ra_session, old_session_url, scratch_pool)));
}
return SVN_NO_ERROR;
Modified: subversion/branches/master-passphrase/subversion/libsvn_client/ra.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/ra.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/ra.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/ra.c Wed Sep 12 14:43:54 2012
@@ -581,6 +581,7 @@ svn_client__repos_location_segments(apr_
{
struct gls_receiver_baton_t gls_receiver_baton;
const char *old_session_url;
+ svn_error_t *err;
*segments = apr_array_make(pool, 8, sizeof(svn_location_segment_t *));
gls_receiver_baton.segments = *segments;
@@ -588,11 +589,12 @@ svn_client__repos_location_segments(apr_
gls_receiver_baton.pool = pool;
SVN_ERR(svn_client__ensure_ra_session_url(&old_session_url, ra_session,
url, pool));
- SVN_ERR(svn_ra_get_location_segments(ra_session, "", peg_revision,
- start_revision, end_revision,
- gls_receiver, &gls_receiver_baton,
- pool));
- SVN_ERR(svn_ra_reparent(ra_session, old_session_url, pool));
+ err = svn_ra_get_location_segments(ra_session, "", peg_revision,
+ start_revision, end_revision,
+ gls_receiver, &gls_receiver_baton,
+ pool);
+ SVN_ERR(svn_error_compose_create(
+ err, svn_ra_reparent(ra_session, old_session_url, pool)));
qsort((*segments)->elts, (*segments)->nelts,
(*segments)->elt_size, compare_segments);
return SVN_NO_ERROR;
@@ -689,14 +691,16 @@ svn_client__repos_location(svn_client__p
{
const char *old_session_url;
const char *op_url;
+ svn_error_t *err;
SVN_ERR(svn_client__ensure_ra_session_url(&old_session_url, ra_session,
peg_loc->url, scratch_pool));
- SVN_ERR(repos_locations(&op_url, NULL, ra_session,
- peg_loc->url, peg_loc->rev,
- op_revnum, SVN_INVALID_REVNUM,
- result_pool, scratch_pool));
- SVN_ERR(svn_ra_reparent(ra_session, old_session_url, scratch_pool));
+ err = repos_locations(&op_url, NULL, ra_session,
+ peg_loc->url, peg_loc->rev,
+ op_revnum, SVN_INVALID_REVNUM,
+ result_pool, scratch_pool);
+ SVN_ERR(svn_error_compose_create(
+ err, svn_ra_reparent(ra_session, old_session_url, scratch_pool)));
*op_loc_p = svn_client__pathrev_create(peg_loc->repos_root_url,
peg_loc->repos_uuid,
Modified: subversion/branches/master-passphrase/subversion/libsvn_client/update.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_client/update.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_client/update.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_client/update.c Wed Sep 12 14:43:54 2012
@@ -211,6 +211,9 @@ update_internal(svn_revnum_t *result_rev
SVN_CONFIG_CATEGORY_CONFIG,
APR_HASH_KEY_STRING) : NULL;
+ if (result_rev)
+ *result_rev = SVN_INVALID_REVNUM;
+
/* An unknown depth can't be sticky. */
if (depth == svn_depth_unknown)
depth_is_sticky = FALSE;
Modified: subversion/branches/master-passphrase/subversion/libsvn_diff/diff_file.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_diff/diff_file.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_diff/diff_file.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_diff/diff_file.c Wed Sep 12 14:43:54 2012
@@ -340,30 +340,17 @@ is_one_at_eof(struct file_info file[], a
/* Quickly determine whether there is a eol char in CHUNK.
* (mainly copy-n-paste from eol.c#svn_eol__find_eol_start).
*/
-#if SVN_UNALIGNED_ACCESS_IS_OK
-#if APR_SIZEOF_VOIDP == 8
-# define LOWER_7BITS_SET 0x7f7f7f7f7f7f7f7f
-# define BIT_7_SET 0x8080808080808080
-# define R_MASK 0x0a0a0a0a0a0a0a0a
-# define N_MASK 0x0d0d0d0d0d0d0d0d
-#else
-# define LOWER_7BITS_SET 0x7f7f7f7f
-# define BIT_7_SET 0x80808080
-# define R_MASK 0x0a0a0a0a
-# define N_MASK 0x0d0d0d0d
-#endif
-#endif
#if SVN_UNALIGNED_ACCESS_IS_OK
static svn_boolean_t contains_eol(apr_uintptr_t chunk)
{
- apr_uintptr_t r_test = chunk ^ R_MASK;
- apr_uintptr_t n_test = chunk ^ N_MASK;
+ apr_uintptr_t r_test = chunk ^ SVN__R_MASK;
+ apr_uintptr_t n_test = chunk ^ SVN__N_MASK;
- r_test |= (r_test & LOWER_7BITS_SET) + LOWER_7BITS_SET;
- n_test |= (n_test & LOWER_7BITS_SET) + LOWER_7BITS_SET;
+ r_test |= (r_test & SVN__LOWER_7BITS_SET) + SVN__LOWER_7BITS_SET;
+ n_test |= (n_test & SVN__LOWER_7BITS_SET) + SVN__LOWER_7BITS_SET;
- return (r_test & n_test & BIT_7_SET) != BIT_7_SET;
+ return (r_test & n_test & SVN__BIT_7_SET) != SVN__BIT_7_SET;
}
#endif
Modified: subversion/branches/master-passphrase/subversion/libsvn_diff/parse-diff.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_diff/parse-diff.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_diff/parse-diff.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_diff/parse-diff.c Wed Sep 12 14:43:54 2012
@@ -1284,8 +1284,7 @@ svn_diff_parse_next_patch(svn_patch_t **
/* Run the state machine. */
for (i = 0; i < (sizeof(transitions) / sizeof(transitions[0])); i++)
{
- if (line->len > strlen(transitions[i].expected_input)
- && starts_with(line->data, transitions[i].expected_input)
+ if (starts_with(line->data, transitions[i].expected_input)
&& state == transitions[i].required_state)
{
SVN_ERR(transitions[i].fn(&state, line->data, *patch,
@@ -1302,19 +1301,24 @@ svn_diff_parse_next_patch(svn_patch_t **
}
else if (state == state_git_tree_seen && line_after_tree_header_read)
{
- /* We have a valid diff header for a patch with only tree changes.
- * Rewind to the start of the line just read, so subsequent calls
- * to this function don't end up skipping the line -- it may
- * contain a patch. */
- SVN_ERR(svn_io_file_seek(patch_file->apr_file, APR_SET, &last_line,
- scratch_pool));
- break;
+ /* git patches can contain an index line after the file mode line */
+ if (!starts_with(line->data, "index "))
+ {
+ /* We have a valid diff header for a patch with only tree changes.
+ * Rewind to the start of the line just read, so subsequent calls
+ * to this function don't end up skipping the line -- it may
+ * contain a patch. */
+ SVN_ERR(svn_io_file_seek(patch_file->apr_file, APR_SET, &last_line,
+ scratch_pool));
+ break;
+ }
}
else if (state == state_git_tree_seen)
{
line_after_tree_header_read = TRUE;
}
- else if (! valid_header_line && state != state_start)
+ else if (! valid_header_line && state != state_start
+ && !starts_with(line->data, "index "))
{
/* We've encountered an invalid diff header.
*
Modified: subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.c?rev=1383980&r1=1383979&r2=1383980&view=diff
==============================================================================
--- subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.c (original)
+++ subversion/branches/master-passphrase/subversion/libsvn_fs/fs-loader.c Wed Sep 12 14:43:54 2012
@@ -601,7 +601,8 @@ svn_fs_pack(const char *path,
SVN_MUTEX__WITH_LOCK(common_pool_lock,
vtable->pack_fs(fs, path, notify_func, notify_baton,
- cancel_func, cancel_baton, pool));
+ cancel_func, cancel_baton, pool,
+ common_pool));
return SVN_NO_ERROR;
}
@@ -623,6 +624,17 @@ svn_fs_recover(const char *path,
pool));
}
+svn_error_t *
+svn_fs_freeze(svn_fs_t *fs,
+ svn_error_t *(*freeze_body)(void *baton, apr_pool_t *pool),
+ void *baton,
+ apr_pool_t *pool)
+{
+ SVN_ERR(fs->vtable->freeze(fs, freeze_body, baton, pool));
+
+ return SVN_NO_ERROR;
+}
+
/* --- Berkeley-specific functions --- */