Author: julianfoad
Date: Tue Nov 25 16:26:48 2014
New Revision: 1641647
URL: http://svn.apache.org/r1641647
Log:
On the 'move-tracking-2' branch: catch up with trunk@1641646.
Added:
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/rev_file.c
- copied unchanged from r1641646,
subversion/trunk/subversion/libsvn_fs_x/rev_file.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/rev_file.h
- copied unchanged from r1641646,
subversion/trunk/subversion/libsvn_fs_x/rev_file.h
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
- copied unchanged from r1641646,
subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
subversion/branches/move-tracking-2/tools/buildbot/slaves/svn-x64-macosx/
- copied from r1641646,
subversion/trunk/tools/buildbot/slaves/svn-x64-macosx/
subversion/branches/move-tracking-2/tools/examples/ExampleAuthn.java
- copied unchanged from r1641646,
subversion/trunk/tools/examples/ExampleAuthn.java
subversion/branches/move-tracking-2/tools/examples/ExampleAuthnOld.java
- copied unchanged from r1641646,
subversion/trunk/tools/examples/ExampleAuthnOld.java
subversion/branches/move-tracking-2/tools/examples/ExampleAuthnVeryOld.java
- copied unchanged from r1641646,
subversion/trunk/tools/examples/ExampleAuthnVeryOld.java
Modified:
subversion/branches/move-tracking-2/ (props changed)
subversion/branches/move-tracking-2/Makefile.in
subversion/branches/move-tracking-2/autogen.sh (contents, props changed)
subversion/branches/move-tracking-2/build/ (props changed)
subversion/branches/move-tracking-2/build/ac-macros/apache.m4
subversion/branches/move-tracking-2/build/run_tests.py
subversion/branches/move-tracking-2/subversion/ (props changed)
subversion/branches/move-tracking-2/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/branches/move-tracking-2/subversion/include/private/svn_fs_fs_private.h
subversion/branches/move-tracking-2/subversion/include/private/svn_wc_private.h
subversion/branches/move-tracking-2/subversion/include/svn_fs.h
subversion/branches/move-tracking-2/subversion/include/svn_io.h
subversion/branches/move-tracking-2/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
subversion/branches/move-tracking-2/subversion/libsvn_client/checkout.c
subversion/branches/move-tracking-2/subversion/libsvn_client/cleanup.c
subversion/branches/move-tracking-2/subversion/libsvn_client/client.h
subversion/branches/move-tracking-2/subversion/libsvn_client/commit_util.c
subversion/branches/move-tracking-2/subversion/libsvn_client/copy.c
subversion/branches/move-tracking-2/subversion/libsvn_client/export.c
subversion/branches/move-tracking-2/subversion/libsvn_client/externals.c
subversion/branches/move-tracking-2/subversion/libsvn_client/import.c
subversion/branches/move-tracking-2/subversion/libsvn_client/info.c
subversion/branches/move-tracking-2/subversion/libsvn_client/locking_commands.c
subversion/branches/move-tracking-2/subversion/libsvn_client/merge.c
subversion/branches/move-tracking-2/subversion/libsvn_client/mergeinfo.c
subversion/branches/move-tracking-2/subversion/libsvn_client/patch.c
subversion/branches/move-tracking-2/subversion/libsvn_client/prop_commands.c
subversion/branches/move-tracking-2/subversion/libsvn_client/ra.c
subversion/branches/move-tracking-2/subversion/libsvn_client/resolved.c
subversion/branches/move-tracking-2/subversion/libsvn_client/revert.c
subversion/branches/move-tracking-2/subversion/libsvn_client/status.c
subversion/branches/move-tracking-2/subversion/libsvn_client/switch.c
subversion/branches/move-tracking-2/subversion/libsvn_client/update.c
subversion/branches/move-tracking-2/subversion/libsvn_client/util.c
subversion/branches/move-tracking-2/subversion/libsvn_delta/path_driver.c
subversion/branches/move-tracking-2/subversion/libsvn_delta/text_delta.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_base/reps-strings.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/cached_data.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/caching.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/dump-index.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/fs.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/fs.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/fs_fs.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/hotcopy.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/index.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/load-index.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/pack.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/pack.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/revprops.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/stats.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/structure
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/transaction.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/tree.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/util.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/util.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_fs/verify.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_util/fs-util.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/ (props
changed)
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/cached_data.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/cached_data.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/dag.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/fs.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/fs.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/fs_x.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/fs_x.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/hotcopy.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/hotcopy.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/id.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/id.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/index.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/index.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/lock.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/low_level.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/low_level.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/pack.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/recovery.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/temp_serializer.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/transaction.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/transaction.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/tree.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/util.c
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/util.h
subversion/branches/move-tracking-2/subversion/libsvn_fs_x/verify.c
subversion/branches/move-tracking-2/subversion/libsvn_subr/stream.c
subversion/branches/move-tracking-2/subversion/libsvn_wc/node.c
subversion/branches/move-tracking-2/subversion/po/de.po
subversion/branches/move-tracking-2/subversion/svn-bench/help-cmd.c
subversion/branches/move-tracking-2/subversion/svn-bench/svn-bench.c
subversion/branches/move-tracking-2/subversion/svnadmin/svnadmin.c
subversion/branches/move-tracking-2/subversion/svnfsfs/stats-cmd.c
subversion/branches/move-tracking-2/subversion/svnfsfs/svnfsfs.c
subversion/branches/move-tracking-2/subversion/tests/cmdline/basic_tests.py
subversion/branches/move-tracking-2/subversion/tests/cmdline/davautocheck.sh
subversion/branches/move-tracking-2/subversion/tests/cmdline/externals_tests.py
subversion/branches/move-tracking-2/subversion/tests/cmdline/redirect_tests.py
subversion/branches/move-tracking-2/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/move-tracking-2/subversion/tests/cmdline/svntest/main.py
subversion/branches/move-tracking-2/subversion/tests/libsvn_fs/fs-test.c
subversion/branches/move-tracking-2/subversion/tests/libsvn_fs_x/ (props
changed)
subversion/branches/move-tracking-2/subversion/tests/libsvn_fs_x/fs-x-pack-test.c
subversion/branches/move-tracking-2/subversion/tests/libsvn_subr/stream-test.c
subversion/branches/move-tracking-2/subversion/tests/libsvn_wc/wc-test.c
subversion/branches/move-tracking-2/subversion/tests/templates/greek-fsfs-v6.zip
subversion/branches/move-tracking-2/tools/ (props changed)
subversion/branches/move-tracking-2/tools/buildbot/slaves/svn-sparc-solaris/svnbuild.sh
subversion/branches/move-tracking-2/tools/dist/release.py
subversion/branches/move-tracking-2/tools/hook-scripts/mailer/tests/mailer-init.sh
Propchange: subversion/branches/move-tracking-2/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1635153-1641646
Modified: subversion/branches/move-tracking-2/Makefile.in
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/Makefile.in?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/Makefile.in (original)
+++ subversion/branches/move-tracking-2/Makefile.in Tue Nov 25 16:26:48 2014
@@ -370,6 +370,7 @@ INSTALL_EXTRA_SWIG_RB=\
done
APXS = @APXS@
+HTTPD_VERSION = @HTTPD_VERSION@
PYTHON = @PYTHON@
PERL = @PERL@
@@ -534,6 +535,9 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $
if test "$(HTTP_LIBRARY)" != ""; then \
flags="--http-library $(HTTP_LIBRARY) $$flags"; \
fi; \
+ if test "$(HTTPD_VERSION)" != ""; then \
+ flags="--httpd-version $(HTTPD_VERSION) $$flags"; \
+ fi; \
if test "$(SERVER_MINOR_VERSION)" != ""; then \
flags="--server-minor-version $(SERVER_MINOR_VERSION) $$flags"; \
fi; \
Modified: subversion/branches/move-tracking-2/autogen.sh
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/autogen.sh?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/autogen.sh (original)
+++ subversion/branches/move-tracking-2/autogen.sh Tue Nov 25 16:26:48 2014
@@ -72,48 +72,80 @@ rm -f build/config.guess build/config.su
$libtoolize --copy --automake --force
ltpath="`dirname $libtoolize`"
-ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/libtool.m4}
-if [ ! -f $ltfile ]; then
- echo "$ltfile not found (try setting the LIBTOOL_M4 environment variable)"
+if [ "x$LIBTOOL_M4" = "x" ]; then
+ ltm4_error='(try setting the LIBTOOL_M4 environment variable)'
+ if [ -d "$ltpath/../share/aclocal/." ]; then
+ ltm4=`cd "$ltpath/../share/aclocal" && pwd`
+ else
+ echo "Libtool helper path not found $ltm4_error"
+ echo " expected at: '$ltpath/../share/aclocal'"
+ exit 1
+ fi
+else
+ ltm4_error="(the LIBTOOL_M4 environment variable is: $LIBTOOL_M4)"
+ ltm4="$LIBTOOL_M4"
+fi
+
+ltfile="$ltm4/libtool.m4"
+if [ ! -f "$ltfile" ]; then
+ echo "$ltfile not found $ltm4_error"
exit 1
fi
-echo "Copying libtool helper: $ltfile"
+echo "Copying libtool helper: $ltfile"
# An ancient helper might already be present from previous builds,
# and it might be write-protected (e.g. mode 444, seen on FreeBSD).
# This would cause cp to fail and print an error message, but leave
# behind a potentially outdated libtool helper. So, remove before
# copying:
rm -f build/libtool.m4
-cp $ltfile build/libtool.m4
+cp "$ltfile" build/libtool.m4
for file in ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4; do
rm -f build/$file
if [ $lt_major_version -ge 2 ]; then
- ltfile=${LIBTOOL_M4-`cd $ltpath/../share/aclocal ; pwd`/$file}
+ ltfile="$ltm4/$file"
- if [ ! -f $ltfile ]; then
- echo "$ltfile not found (try setting the LIBTOOL_M4 environment
variable)"
+ if [ ! -f "$ltfile" ]; then
+ echo "$ltfile not found $ltm4_error"
exit 1
fi
- echo "Copying libtool helper: $ltfile"
- cp $ltfile build/$file
+ echo "Copying libtool helper: $ltfile"
+ cp "$ltfile" "build/$file"
fi
done
if [ $lt_major_version -ge 2 ]; then
+ if [ "x$LIBTOOL_CONFIG" = "x" ]; then
+ ltconfig_error='(try setting the LIBTOOL_CONFIG environment variable)'
+ if [ -d "$ltpath/../share/libtool/config/." ]; then
+ ltconfig=`cd "$ltpath/../share/libtool/config" && pwd`
+ elif [ -d "$ltpath/../share/libtool/build-aux/." ]; then
+ ltconfig=`cd "$ltpath/../share/libtool/build-aux" && pwd`
+ else
+ echo "Autoconf helper path not found $ltconfig_error"
+ echo " expected at: '$ltpath/../share/libtool/config'"
+ echo " or: '$ltpath/../share/libtool/build-aux'"
+ exit 1
+ fi
+ else
+ ltconfig_error="(the LIBTOOL_CONFIG environment variable is:
$LIBTOOL_CONFIG)"
+ ltconfig="$LIBTOOL_CONFIG"
+ fi
+
for file in config.guess config.sub; do
- configfile=${LIBTOOL_CONFIG-`cd $ltpath/../share/libtool/config ;
pwd`/$file}
+ configfile="$ltconfig/$file"
- if [ ! -f $configfile ]; then
- echo "$configfile not found (try setting the LIBTOOL_CONFIG
environment variable)"
+ if [ ! -f "$configfile" ]; then
+ echo "$configfile not found $ltconfig_error"
exit 1
fi
- cp $configfile build/$file
+ echo "Copying autoconf helper: $configfile"
+ cp "$configfile" build/$file
done
fi
Propchange: subversion/branches/move-tracking-2/autogen.sh
------------------------------------------------------------------------------
Merged /subversion/trunk/autogen.sh:r1634607-1641646
Propchange: subversion/branches/move-tracking-2/build/
------------------------------------------------------------------------------
Merged /subversion/trunk/build:r1634607-1641646
Modified: subversion/branches/move-tracking-2/build/ac-macros/apache.m4
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/ac-macros/apache.m4?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/ac-macros/apache.m4 (original)
+++ subversion/branches/move-tracking-2/build/ac-macros/apache.m4 Tue Nov 25
16:26:48 2014
@@ -162,6 +162,11 @@ if test -n "$APXS" && test "$APXS" != "n
BUILD_APACHE_RULE=apache-mod
INSTALL_APACHE_RULE=install-mods-shared
INSTALL_APACHE_MODS=true
+ HTTPD="`$APXS -q sbindir`/`$APXS -q PROGNAME`"
+ if ! test -e $HTTPD ; then
+ HTTPD="`$APXS -q bindir`/`$APXS -q PROGNAME`"
+ fi
+ HTTPD_VERSION=["`$HTTPD -v | $SED -e 's@^.*/\([0-9.]*\)\(.*$\)@\1@ ; 1q'`"]
case $host in
*-*-cygwin*)
@@ -180,6 +185,7 @@ AC_SUBST(APACHE_LDFLAGS)
AC_SUBST(APACHE_INCLUDES)
AC_SUBST(APACHE_LIBEXECDIR)
AC_SUBST(INSTALL_APACHE_MODS)
+AC_SUBST(HTTPD_VERSION)
# there aren't any flags that interest us ...
#if test -n "$APXS" && test "$APXS" != "no"; then
Modified: subversion/branches/move-tracking-2/build/run_tests.py
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/build/run_tests.py?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/build/run_tests.py (original)
+++ subversion/branches/move-tracking-2/build/run_tests.py Tue Nov 25 16:26:48
2014
@@ -29,6 +29,7 @@
[--fs-type=<fs-type>] [--fsfs-packing] [--fsfs-sharding=<n>]
[--list] [--milestone-filter=<regex>] [--mode-filter=<type>]
[--server-minor-version=<version>] [--http-proxy=<host>:<port>]
+ [--httpd-version=<version>]
[--config-file=<file>] [--ssl-cert=<file>]
[--exclusive-wc-locks] [--memcached-server=<url:port>]
<abs_srcdir> <abs_builddir>
@@ -127,7 +128,8 @@ class TestHarness:
list_tests=None, svn_bin=None, mode_filter=None,
milestone_filter=None, set_log_level=None, ssl_cert=None,
http_proxy=None, http_proxy_username=None,
- http_proxy_password=None, exclusive_wc_locks=None,
+ http_proxy_password=None, httpd_version=None,
+ exclusive_wc_locks=None,
memcached_server=None, skip_c_tests=None):
'''Construct a TestHarness instance.
@@ -185,6 +187,7 @@ class TestHarness:
self.http_proxy = http_proxy
self.http_proxy_username = http_proxy_username
self.http_proxy_password = http_proxy_password
+ self.httpd_version = httpd_version
self.exclusive_wc_locks = exclusive_wc_locks
self.memcached_server = memcached_server
if not sys.stdout.isatty() or sys.platform == 'win32':
@@ -527,6 +530,8 @@ class TestHarness:
svntest.main.options.http_proxy_username = self.http_proxy_username
if self.http_proxy_password is not None:
svntest.main.options.http_proxy_password = self.http_proxy_password
+ if self.httpd_version is not None:
+ svntest.main.options.httpd_version = self.httpd_version
if self.exclusive_wc_locks is not None:
svntest.main.options.exclusive_wc_locks = self.exclusive_wc_locks
if self.memcached_server is not None:
@@ -700,7 +705,8 @@ def main():
'log-to-stdout', 'list', 'milestone-filter=',
'mode-filter=', 'set-log-level=', 'ssl-cert=',
'http-proxy=', 'http-proxy-username=',
- 'http-proxy-password=','exclusive-wc-locks',
+ 'http-proxy-password=', 'httpd-version=',
+ 'exclusive-wc-locks',
'memcached-server='])
except getopt.GetoptError:
args = []
@@ -713,11 +719,11 @@ def main():
http_library, server_minor_version, fsfs_sharding, fsfs_packing, \
parallel, config_file, log_to_stdout, list_tests, mode_filter, \
milestone_filter, set_log_level, ssl_cert, http_proxy, \
- http_proxy_username, http_proxy_password, exclusive_wc_locks, \
- memcached_server = \
+ http_proxy_username, http_proxy_password, httpd_version, \
+ exclusive_wc_locks, memcached_server = \
None, None, None, None, None, None, None, None, None, None, \
None, None, None, None, None, None, None, None, None, None, \
- None, None, None
+ None, None, None, None,
for opt, val in opts:
if opt in ['-u', '--url']:
base_url = val
@@ -761,6 +767,8 @@ def main():
http_proxy_username = val
elif opt in ['--http-proxy-password']:
http_proxy_password = val
+ elif opt in ['--httpd-version']:
+ httpd_version = val
elif opt in ['--exclusive-wc-locks']:
exclusive_wc_locks = 1
elif opt in ['--memcached-server']:
@@ -784,6 +792,7 @@ def main():
http_proxy=http_proxy,
http_proxy_username=http_proxy_username,
http_proxy_password=http_proxy_password,
+ httpd_version=httpd_version,
exclusive_wc_locks=exclusive_wc_locks,
memcached_server=memcached_server,
skip_c_tests=skip_c_tests)
Propchange: subversion/branches/move-tracking-2/subversion/
------------------------------------------------------------------------------
Merged /subversion/trunk/subversion:r1635153-1641646
Modified:
subversion/branches/move-tracking-2/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
(original)
+++
subversion/branches/move-tracking-2/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
Tue Nov 25 16:26:48 2014
@@ -701,6 +701,47 @@ public class BasicTests extends SVNTests
}
/**
+ * Test SVNClient.status on externals.
+ * @throws Throwable
+ */
+ public void testExternalStatus() throws Throwable
+ {
+ // build the test setup
+ OneTest thisTest = new OneTest();
+
+
+ // Add an externals reference to the working copy.
+ client.propertySetLocal(thisTest.getWCPathSet(), "svn:externals",
+ "^/A/D/H ADHext".getBytes(),
+ Depth.empty, null, false);
+
+ // Update the working copy to bring in the external subtree.
+ client.update(thisTest.getWCPathSet(), Revision.HEAD,
+ Depth.unknown, false, false, false, false);
+
+ // Test status of an external file
+ File psi = new File(thisTest.getWorkingCopy() + "/ADHext", "psi");
+
+ MyStatusCallback statusCallback = new MyStatusCallback();
+ client.status(fileToSVNPath(psi, false), Depth.unknown,
+ false, true, true, false, false, false,
+ null, statusCallback);
+
+ final int statusCount = statusCallback.getStatusArray().length;
+ if (statusCount == 1)
+ {
+ Status st = statusCallback.getStatusArray()[0];
+ assertFalse(st.isConflicted());
+ assertEquals(Status.Kind.normal, st.getNodeStatus());
+ assertEquals(NodeKind.file, st.getNodeKind());
+ }
+ else if (statusCount > 1)
+ fail("File psi should not return more than one status.");
+ else
+ fail("File psi should return exactly one status.");
+ }
+
+ /**
* Test the basic SVNClient.checkout functionality.
* @throws Throwable
*/
Modified:
subversion/branches/move-tracking-2/subversion/include/private/svn_fs_fs_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/private/svn_fs_fs_private.h?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/include/private/svn_fs_fs_private.h
(original)
+++
subversion/branches/move-tracking-2/subversion/include/private/svn_fs_fs_private.h
Tue Nov 25 16:26:48 2014
@@ -51,7 +51,7 @@ extern "C" {
typedef struct svn_fs_fs__large_change_info_t
{
/* size of the (deltified) representation */
- apr_size_t size;
+ apr_uint64_t size;
/* Revision of the representation. SVN_INVALID_REVNUM for unused entries. */
svn_revnum_t revision;
@@ -70,7 +70,7 @@ typedef struct svn_fs_fs__largest_change
apr_size_t count;
/* size of the smallest change */
- apr_size_t min_size;
+ apr_uint64_t min_size;
/* changes kept in this struct */
svn_fs_fs__large_change_info_t **changes;
@@ -81,10 +81,10 @@ typedef struct svn_fs_fs__largest_change
typedef struct svn_fs_fs__histogram_line_t
{
/* number of item that fall into this bracket */
- apr_int64_t count;
+ apr_uint64_t count;
/* sum of values in this bracket */
- apr_int64_t sum;
+ apr_uint64_t sum;
} svn_fs_fs__histogram_line_t;
/* A histogram of 64 bit integer values.
@@ -119,16 +119,16 @@ typedef struct svn_fs_fs__extension_info
typedef struct svn_fs_fs__rep_pack_stats_t
{
/* number of representations */
- apr_int64_t count;
+ apr_uint64_t count;
/* total size after deltification (i.e. on disk size) */
- apr_int64_t packed_size;
+ apr_uint64_t packed_size;
/* total size after de-deltification (i.e. plain text size) */
- apr_int64_t expanded_size;
+ apr_uint64_t expanded_size;
/* total on-disk header size */
- apr_int64_t overhead_size;
+ apr_uint64_t overhead_size;
} svn_fs_fs__rep_pack_stats_t;
/* Statistics we collect over a given set of representations.
@@ -146,11 +146,11 @@ typedef struct svn_fs_fs__representation
svn_fs_fs__rep_pack_stats_t shared;
/* sum of all ref_counts */
- apr_int64_t references;
+ apr_uint64_t references;
/* sum of ref_count * expanded_size,
* i.e. total plaintext content if there was no rep sharing */
- apr_int64_t expanded_size;
+ apr_uint64_t expanded_size;
} svn_fs_fs__representation_stats_t;
/* Basic statistics we collect over a given set of noderevs.
@@ -158,10 +158,10 @@ typedef struct svn_fs_fs__representation
typedef struct svn_fs_fs__node_stats_t
{
/* number of noderev structs */
- apr_int64_t count;
+ apr_uint64_t count;
/* their total size on disk (structs only) */
- apr_int64_t size;
+ apr_uint64_t size;
} svn_fs_fs__node_stats_t;
/* Comprises all the information needed to create the output of the
@@ -170,16 +170,16 @@ typedef struct svn_fs_fs__node_stats_t
typedef struct svn_fs_fs__stats_t
{
/* sum total of all rev / pack file sizes in bytes */
- apr_int64_t total_size;
+ apr_uint64_t total_size;
/* number of revisions in the repository */
- apr_int64_t revision_count;
+ apr_uint64_t revision_count;
/* total number of changed paths */
- apr_int64_t change_count;
+ apr_uint64_t change_count;
/* sum of all changed path list sizes on disk in bytes */
- apr_int64_t change_len;
+ apr_uint64_t change_len;
/* stats on all representations */
svn_fs_fs__representation_stats_t total_rep_stats;
Modified:
subversion/branches/move-tracking-2/subversion/include/private/svn_wc_private.h
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/private/svn_wc_private.h?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/include/private/svn_wc_private.h
(original)
+++
subversion/branches/move-tracking-2/subversion/include/private/svn_wc_private.h
Tue Nov 25 16:26:48 2014
@@ -622,7 +622,6 @@ svn_wc__node_get_base(svn_node_kind_t *k
svn_wc_context_t *wc_ctx,
const char *local_abspath,
svn_boolean_t ignore_enoent,
- svn_boolean_t show_hidden,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
Modified: subversion/branches/move-tracking-2/subversion/include/svn_fs.h
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/svn_fs.h?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/include/svn_fs.h (original)
+++ subversion/branches/move-tracking-2/subversion/include/svn_fs.h Tue Nov 25
16:26:48 2014
@@ -126,6 +126,16 @@ typedef struct svn_fs_t svn_fs_t;
*/
#define SVN_FS_CONFIG_FSFS_SHARD_SIZE "fsfs-shard-size"
+/** Enable / disable the FSFS format 7 logical addressing feature for a
+ * newly created repository.
+ *
+ * This option will only be used during the creation of new repositories
+ * and is otherwise ignored.
+ *
+ * @since New in 1.9.
+ */
+#define SVN_FS_CONFIG_FSFS_LOG_ADDRESSING "fsfs-log-addressing"
+
/* Note to maintainers: if you add further SVN_FS_CONFIG_FSFS_CACHE_* knobs,
update fs_fs.c:verify_as_revision_before_current_plus_plus(). */
@@ -2249,13 +2259,13 @@ typedef svn_error_t *
* upon doing so. Use @a pool for allocations.
*
* This function is intended to support zero copy data processing. It may
- * not be implemented for all data backends or not applicable for certain
- * content. In that case, @a *success will always be @c FALSE. Also, this
- * is a best-effort function which means that there is no guarantee that
- * @a processor gets called at all for some content.
+ * not be implemented for all data backends or not be applicable for certain
+ * content. In those cases, @a *success will always be @c FALSE. Also,
+ * this is a best-effort function which means that there is no guarantee
+ * that @a processor gets called at all.
*
- * @note @a processor is expected to be relatively short function with
- * at most O(content size) runtime.
+ * @note @a processor is expected to be a relatively simple function with
+ * a runtime of O(content size) or less.
*
* @since New in 1.8.
*/
@@ -3032,6 +3042,9 @@ typedef struct svn_fs_fsfs_info_t {
* @note Zero (0) if (but not iff) the format does not support packing. */
svn_revnum_t min_unpacked_rev;
+ /* TRUE if logical addressing is enabled for this repository.
+ * FALSE if repository uses physical addressing. */
+ svn_boolean_t log_addressing;
/* ### TODO: information about fsfs.conf? rep-cache.db? write locks? */
/* If you add fields here, check whether you need to extend svn_fs_info()
Modified: subversion/branches/move-tracking-2/subversion/include/svn_io.h
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/svn_io.h?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/include/svn_io.h (original)
+++ subversion/branches/move-tracking-2/subversion/include/svn_io.h Tue Nov 25
16:26:48 2014
@@ -1265,6 +1265,8 @@ svn_stream_read(svn_stream_t *stream,
* of reads or a simple seek operation. If the stream implementation has
* not provided a skip function, this will read from the stream and
* discard the data.
+ *
+ * @since New in 1.7.
*/
svn_error_t *
svn_stream_skip(svn_stream_t *stream,
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
(original)
+++
subversion/branches/move-tracking-2/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
Tue Nov 25 16:26:48 2014
@@ -49,120 +49,19 @@
/*-----------------------------------------------------------------------*/
-struct gnome_keyring_baton
-{
- const char *keyring_name;
- GnomeKeyringInfo *info;
- GMainLoop *loop;
-};
-
-
-/* Callback function to destroy gnome_keyring_baton. */
-static void
-callback_destroy_data_keyring(void *data)
-{
- struct gnome_keyring_baton *key_info = data;
-
- if (data == NULL)
- return;
-
- free((void*)key_info->keyring_name);
- key_info->keyring_name = NULL;
-
- if (key_info->info)
- {
- gnome_keyring_info_free(key_info->info);
- key_info->info = NULL;
- }
-
- return;
-}
-
-
-/* Callback function to complete the keyring operation. */
-static void
-callback_done(GnomeKeyringResult result,
- gpointer data)
-{
- struct gnome_keyring_baton *key_info = data;
-
- g_main_loop_quit(key_info->loop);
- return;
-}
-
-
-/* Callback function to get the keyring info. */
-static void
-callback_get_info_keyring(GnomeKeyringResult result,
- GnomeKeyringInfo *info,
- void *data)
-{
- struct gnome_keyring_baton *key_info = data;
-
- if (result == GNOME_KEYRING_RESULT_OK && info != NULL)
- {
- key_info->info = gnome_keyring_info_copy(info);
- }
- else
- {
- if (key_info->info != NULL)
- gnome_keyring_info_free(key_info->info);
-
- key_info->info = NULL;
- }
-
- g_main_loop_quit(key_info->loop);
-
- return;
-}
-
-
-/* Callback function to get the default keyring string name. */
-static void
-callback_default_keyring(GnomeKeyringResult result,
- const char *string,
- void *data)
-{
- struct gnome_keyring_baton *key_info = data;
-
- if (result == GNOME_KEYRING_RESULT_OK && string != NULL)
- {
- key_info->keyring_name = strdup(string);
- }
- else
- {
- free((void*)key_info->keyring_name);
- key_info->keyring_name = NULL;
- }
-
- g_main_loop_quit(key_info->loop);
-
- return;
-}
-
/* Returns the default keyring name, allocated in RESULT_POOL. */
static char*
get_default_keyring_name(apr_pool_t *result_pool)
{
- char *def = NULL;
- struct gnome_keyring_baton key_info;
-
- key_info.info = NULL;
- key_info.keyring_name = NULL;
+ char *name, *def;
+ GnomeKeyringResult gkr;
- /* Finds default keyring. */
- key_info.loop = g_main_loop_new(NULL, FALSE);
- gnome_keyring_get_default_keyring(callback_default_keyring, &key_info, NULL);
- g_main_loop_run(key_info.loop);
+ gkr = gnome_keyring_get_default_keyring_sync(&name);
+ if (gkr != GNOME_KEYRING_RESULT_OK)
+ return NULL;
- if (key_info.keyring_name == NULL)
- {
- callback_destroy_data_keyring(&key_info);
- return NULL;
- }
-
- def = apr_pstrdup(result_pool, key_info.keyring_name);
- callback_destroy_data_keyring(&key_info);
+ def = apr_pstrdup(result_pool, name);
+ g_free(name);
return def;
}
@@ -171,28 +70,22 @@ get_default_keyring_name(apr_pool_t *res
static svn_boolean_t
check_keyring_is_locked(const char *keyring_name)
{
- struct gnome_keyring_baton key_info;
+ GnomeKeyringInfo *info;
+ svn_boolean_t locked;
+ GnomeKeyringResult gkr;
- key_info.info = NULL;
- key_info.keyring_name = NULL;
+ gkr = gnome_keyring_get_info_sync(keyring_name, &info);
+ if (gkr != GNOME_KEYRING_RESULT_OK)
+ return FALSE;
- /* Get details about the default keyring. */
- key_info.loop = g_main_loop_new(NULL, FALSE);
- gnome_keyring_get_info(keyring_name, callback_get_info_keyring, &key_info,
- NULL);
- g_main_loop_run(key_info.loop);
+ if (gnome_keyring_info_get_is_locked(info))
+ locked = TRUE;
+ else
+ locked = FALSE;
- if (key_info.info == NULL)
- {
- callback_destroy_data_keyring(&key_info);
- return FALSE;
- }
+ gnome_keyring_info_free(info);
- /* Check if keyring is locked. */
- if (gnome_keyring_info_get_is_locked(key_info.info))
- return TRUE;
- else
- return FALSE;
+ return locked;
}
/* Unlock the KEYRING_NAME with the KEYRING_PASSWORD. If KEYRING was
@@ -202,34 +95,19 @@ unlock_gnome_keyring(const char *keyring
const char *keyring_password,
apr_pool_t *pool)
{
- struct gnome_keyring_baton key_info;
-
- key_info.info = NULL;
- key_info.keyring_name = NULL;
+ GnomeKeyringInfo *info;
+ GnomeKeyringResult gkr;
- /* Get details about the default keyring. */
- key_info.loop = g_main_loop_new(NULL, FALSE);
- gnome_keyring_get_info(keyring_name, callback_get_info_keyring,
- &key_info, NULL);
- g_main_loop_run(key_info.loop);
+ gkr = gnome_keyring_get_info_sync(keyring_name, &info);
+ if (gkr != GNOME_KEYRING_RESULT_OK)
+ return FALSE;
- if (key_info.info == NULL)
- {
- callback_destroy_data_keyring(&key_info);
- return FALSE;
- }
- else
- {
- key_info.loop = g_main_loop_new(NULL, FALSE);
- gnome_keyring_unlock(keyring_name, keyring_password,
- callback_done, &key_info, NULL);
- g_main_loop_run(key_info.loop);
- }
- callback_destroy_data_keyring(&key_info);
- if (check_keyring_is_locked(keyring_name))
+ gkr = gnome_keyring_unlock_sync(keyring_name, keyring_password);
+ gnome_keyring_info_free(info);
+ if (gkr != GNOME_KEYRING_RESULT_OK)
return FALSE;
- return TRUE;
+ return check_keyring_is_locked(keyring_name);
}
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/checkout.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/checkout.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/checkout.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/checkout.c Tue
Nov 25 16:26:48 2014
@@ -67,6 +67,7 @@ initialize_area(const char *local_abspat
svn_error_t *
svn_client__checkout_internal(svn_revnum_t *result_rev,
+ svn_boolean_t *timestamp_sleep,
const char *url,
const char *local_abspath,
const svn_opt_revision_t *peg_revision,
@@ -74,16 +75,16 @@ svn_client__checkout_internal(svn_revnum
svn_depth_t depth,
svn_boolean_t ignore_externals,
svn_boolean_t allow_unver_obstructions,
- svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
- apr_pool_t *pool)
+ apr_pool_t *scratch_pool)
{
svn_node_kind_t kind;
svn_client__pathrev_t *pathrev;
/* Sanity check. Without these, the checkout is meaningless. */
SVN_ERR_ASSERT(local_abspath != NULL);
- SVN_ERR_ASSERT(svn_uri_is_canonical(url, pool));
+ SVN_ERR_ASSERT(svn_uri_is_canonical(url, scratch_pool));
SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
/* Fulfill the docstring promise of svn_client_checkout: */
@@ -92,21 +93,38 @@ svn_client__checkout_internal(svn_revnum
&& (revision->kind != svn_opt_revision_head))
return svn_error_create(SVN_ERR_CLIENT_BAD_REVISION, NULL, NULL);
- {
- apr_pool_t *session_pool = svn_pool_create(pool);
- svn_ra_session_t *ra_session;
-
- /* Get the RA connection. */
- SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &pathrev,
- url, NULL, peg_revision,
- revision, ctx, session_pool));
-
- pathrev = svn_client__pathrev_dup(pathrev, pool);
- SVN_ERR(svn_ra_check_path(ra_session, "", pathrev->rev, &kind,
- session_pool));
+ /* Get the RA connection, if needed. */
+ if (ra_session)
+ {
+ svn_error_t *err = svn_ra_reparent(ra_session, url, scratch_pool);
- svn_pool_destroy(session_pool);
- }
+ if (err)
+ {
+ if (err->apr_err == SVN_ERR_RA_ILLEGAL_URL)
+ {
+ svn_error_clear(err);
+ ra_session = NULL;
+ }
+ else
+ return svn_error_trace(err);
+ }
+ else
+ {
+ SVN_ERR(svn_client__resolve_rev_and_url(&pathrev,
+ ra_session, url,
+ peg_revision, revision,
+ ctx, scratch_pool));
+ }
+ }
+
+ if (!ra_session)
+ {
+ SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &pathrev,
+ url, NULL, peg_revision,
+ revision, ctx, scratch_pool));
+ }
+
+ SVN_ERR(svn_ra_check_path(ra_session, "", pathrev->rev, &kind,
scratch_pool));
if (kind == svn_node_none)
return svn_error_createf(SVN_ERR_RA_ILLEGAL_URL, NULL,
@@ -116,31 +134,35 @@ svn_client__checkout_internal(svn_revnum
(SVN_ERR_UNSUPPORTED_FEATURE , NULL,
_("URL '%s' refers to a file, not a directory"), pathrev->url);
- SVN_ERR(svn_io_check_path(local_abspath, &kind, pool));
+ SVN_ERR(svn_io_check_path(local_abspath, &kind, scratch_pool));
if (kind == svn_node_none)
{
/* Bootstrap: create an incomplete working-copy root dir. Its
entries file should only have an entry for THIS_DIR with a
URL, revnum, and an 'incomplete' flag. */
- SVN_ERR(svn_io_make_dir_recursively(local_abspath, pool));
- SVN_ERR(initialize_area(local_abspath, pathrev, depth, ctx, pool));
+ SVN_ERR(svn_io_make_dir_recursively(local_abspath, scratch_pool));
+ SVN_ERR(initialize_area(local_abspath, pathrev, depth, ctx,
+ scratch_pool));
}
else if (kind == svn_node_dir)
{
int wc_format;
const char *entry_url;
- SVN_ERR(svn_wc_check_wc2(&wc_format, ctx->wc_ctx, local_abspath, pool));
+ SVN_ERR(svn_wc_check_wc2(&wc_format, ctx->wc_ctx, local_abspath,
+ scratch_pool));
+
if (! wc_format)
{
- SVN_ERR(initialize_area(local_abspath, pathrev, depth, ctx, pool));
+ SVN_ERR(initialize_area(local_abspath, pathrev, depth, ctx,
+ scratch_pool));
}
else
{
/* Get PATH's URL. */
SVN_ERR(svn_wc__node_get_url(&entry_url, ctx->wc_ctx, local_abspath,
- pool, pool));
+ scratch_pool, scratch_pool));
/* If PATH's existing URL matches the incoming one, then
just update. This allows 'svn co' to restart an
@@ -150,24 +172,25 @@ svn_client__checkout_internal(svn_revnum
SVN_ERR_WC_OBSTRUCTED_UPDATE, NULL,
_("'%s' is already a working copy for a"
" different URL"),
- svn_dirent_local_style(local_abspath, pool));
+ svn_dirent_local_style(local_abspath, scratch_pool));
}
}
else
{
return svn_error_createf(SVN_ERR_WC_NODE_KIND_CHANGE, NULL,
_("'%s' already exists and is not a directory"),
- svn_dirent_local_style(local_abspath, pool));
+ svn_dirent_local_style(local_abspath,
+ scratch_pool));
}
/* Have update fix the incompleteness. */
- SVN_ERR(svn_client__update_internal(result_rev, local_abspath,
- revision, depth, TRUE,
+ SVN_ERR(svn_client__update_internal(result_rev, timestamp_sleep,
+ local_abspath, revision, depth, TRUE,
ignore_externals,
allow_unver_obstructions,
TRUE /* adds_as_modification */,
- FALSE, FALSE,
- timestamp_sleep, ctx, pool));
+ FALSE, FALSE, ra_session,
+ ctx, scratch_pool));
return SVN_NO_ERROR;
}
@@ -190,10 +213,12 @@ svn_client_checkout3(svn_revnum_t *resul
SVN_ERR(svn_dirent_get_absolute(&local_abspath, path, pool));
- err = svn_client__checkout_internal(result_rev, URL, local_abspath,
+ err = svn_client__checkout_internal(result_rev, &sleep_here,
+ URL, local_abspath,
peg_revision, revision, depth,
ignore_externals,
- allow_unver_obstructions, &sleep_here,
+ allow_unver_obstructions,
+ NULL /* ra_session */,
ctx, pool);
if (sleep_here)
svn_io_sleep_for_timestamps(local_abspath, pool);
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/cleanup.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/cleanup.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/cleanup.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/cleanup.c Tue
Nov 25 16:26:48 2014
@@ -148,8 +148,8 @@ cleanup_status_walk(void *baton,
notify = svn_wc_create_notify(local_abspath,
svn_wc_notify_cleanup_external,
scratch_pool);
- (*b->ctx->notify_func2)(b->ctx->notify_baton2, notify,
- scratch_pool);
+ b->ctx->notify_func2(b->ctx->notify_baton2, notify,
+ scratch_pool);
}
err = do_cleanup(local_abspath,
@@ -208,7 +208,7 @@ cleanup_status_walk(void *baton,
notify = svn_wc_create_notify(local_abspath, svn_wc_notify_delete,
scratch_pool);
notify->kind = kind_on_disk;
- (*b->ctx->notify_func2)(b->ctx->notify_baton2, notify, scratch_pool);
+ b->ctx->notify_func2(b->ctx->notify_baton2, notify, scratch_pool);
}
return SVN_NO_ERROR;
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/client.h
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/client.h?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/client.h
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/client.h Tue
Nov 25 16:26:48 2014
@@ -523,10 +523,14 @@ svn_client__make_local_parents(const cha
(with depth=empty) any parent directories of the requested update
target which are missing from the working copy.
+ If RA_SESSION is NOT NULL, it may be used to avoid creating a new
+ session. The session may point to a different URL after returning.
+
NOTE: You may not specify both INNERUPDATE and MAKE_PARENTS as true.
*/
svn_error_t *
svn_client__update_internal(svn_revnum_t *result_rev,
+ svn_boolean_t *timestamp_sleep,
const char *local_abspath,
const svn_opt_revision_t *revision,
svn_depth_t depth,
@@ -536,7 +540,7 @@ svn_client__update_internal(svn_revnum_t
svn_boolean_t adds_as_modification,
svn_boolean_t make_parents,
svn_boolean_t innerupdate,
- svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
@@ -552,11 +556,6 @@ svn_client__update_internal(svn_revnum_t
DEPTH must be a definite depth, not (e.g.) svn_depth_unknown.
- RA_CACHE is a pointer to a cache of information for the URL at
- REVISION based on the PEG_REVISION. Any information not in
- *RA_CACHE is retrieved by a round-trip to the repository. RA_CACHE
- may be NULL which indicates that no cache information is available.
-
If IGNORE_EXTERNALS is true, do no externals processing.
Set *TIMESTAMP_SLEEP to TRUE if a sleep is required; otherwise do not
@@ -567,9 +566,13 @@ svn_client__update_internal(svn_revnum_t
unversioned children of LOCAL_ABSPATH that obstruct items added from
the repos are tolerated; if FALSE, these obstructions cause the checkout
to fail.
+
+ If RA_SESSION is NOT NULL, it may be used to avoid creating a new
+ session. The session may point to a different URL after returning.
*/
svn_error_t *
svn_client__checkout_internal(svn_revnum_t *result_rev,
+ svn_boolean_t *timestamp_sleep,
const char *URL,
const char *local_abspath,
const svn_opt_revision_t *peg_revision,
@@ -577,7 +580,7 @@ svn_client__checkout_internal(svn_revnum
svn_depth_t depth,
svn_boolean_t ignore_externals,
svn_boolean_t allow_unver_obstructions,
- svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
@@ -1010,6 +1013,9 @@ svn_client__do_commit(const char *base_u
change *TIMESTAMP_SLEEP. The output will be valid even if the function
returns an error.
+ If RA_SESSION is NOT NULL, it may be used to avoid creating a new
+ session. The session may point to a different URL after returning.
+
Use POOL for temporary allocation. */
svn_error_t *
svn_client__handle_externals(apr_hash_t *externals_new,
@@ -1018,6 +1024,7 @@ svn_client__handle_externals(apr_hash_t
const char *target_abspath,
svn_depth_t requested_depth,
svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
apr_pool_t *pool);
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/commit_util.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/commit_util.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/commit_util.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/commit_util.c
Tue Nov 25 16:26:48 2014
@@ -779,7 +779,6 @@ harvest_status_callback(void *status_bat
wc_ctx, svn_dirent_dirname(local_abspath,
scratch_pool),
FALSE /* ignore_enoent */,
- FALSE /* show_hidden */,
scratch_pool, scratch_pool));
if (copy_mode_root || status->switched || node_rev != dir_rev)
@@ -1650,7 +1649,7 @@ do_item_commit(void **dir_baton,
{
notify->kind = item->kind;
notify->path_prefix = icb->notify_path_prefix;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
}
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/copy.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/copy.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/copy.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/copy.c Tue Nov
25 16:26:48 2014
@@ -1612,7 +1612,6 @@ repos_to_wc_copy_single(svn_boolean_t *t
{
if (same_repositories)
{
- svn_boolean_t sleep_needed = FALSE;
const char *tmpdir_abspath, *tmp_abspath;
/* Find a temporary location in which to check out the copy source.
*/
@@ -1641,14 +1640,14 @@ repos_to_wc_copy_single(svn_boolean_t *t
ctx->notify_func2 = notification_adjust_func;
ctx->notify_baton2 = &nb;
- err = svn_client__checkout_internal(&pair->src_revnum,
+ err = svn_client__checkout_internal(&pair->src_revnum,
timestamp_sleep,
pair->src_original,
tmp_abspath,
&pair->src_peg_revision,
&pair->src_op_revision,
svn_depth_infinity,
ignore_externals, FALSE,
- &sleep_needed, ctx, pool);
+ ra_session, ctx, pool);
ctx->notify_func2 = old_notify_func2;
ctx->notify_baton2 = old_notify_baton2;
@@ -1741,7 +1740,7 @@ repos_to_wc_copy_single(svn_boolean_t *t
svn_wc_notify_t *notify = svn_wc_create_notify(
dst_abspath, svn_wc_notify_add, pool);
notify->kind = pair->src_kind;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
return SVN_NO_ERROR;
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/export.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/export.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/export.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/export.c Tue
Nov 25 16:26:48 2014
@@ -1581,7 +1581,7 @@ svn_client_export5(svn_revnum_t *result_
= svn_wc_create_notify(to_path,
svn_wc_notify_update_completed, pool);
notify->revision = edit_revision;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
if (result_rev)
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/externals.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/externals.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/externals.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/externals.c
Tue Nov 25 16:26:48 2014
@@ -150,6 +150,7 @@ switch_dir_external(const char *local_ab
const svn_opt_revision_t *revision,
const char *defining_abspath,
svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
apr_pool_t *pool)
{
@@ -185,7 +186,6 @@ switch_dir_external(const char *local_ab
&repos_root_url, &repos_uuid,
NULL, ctx->wc_ctx, local_abspath,
TRUE, /* ignore_enoent */
- TRUE, /* show hidden */
pool, pool));
if (kind != svn_node_unknown)
{
@@ -226,12 +226,12 @@ switch_dir_external(const char *local_ab
externals definition, perform an update. */
if (strcmp(node_url, url) == 0)
{
- SVN_ERR(svn_client__update_internal(NULL, local_abspath,
+ SVN_ERR(svn_client__update_internal(NULL, timestamp_sleep,
+ local_abspath,
revision, svn_depth_unknown,
FALSE, FALSE, FALSE, TRUE,
FALSE, TRUE,
- timestamp_sleep,
- ctx, subpool));
+ ra_session, ctx, subpool));
svn_pool_destroy(subpool);
goto cleanup;
}
@@ -348,9 +348,11 @@ switch_dir_external(const char *local_ab
}
/* ... Hello, new hotness. */
- SVN_ERR(svn_client__checkout_internal(NULL, url, local_abspath, peg_revision,
+ SVN_ERR(svn_client__checkout_internal(NULL, timestamp_sleep,
+ url, local_abspath, peg_revision,
revision, svn_depth_infinity,
- FALSE, FALSE, timestamp_sleep,
+ FALSE, FALSE,
+ ra_session,
ctx, pool));
SVN_ERR(svn_wc__node_get_repos_info(NULL, NULL,
@@ -377,14 +379,15 @@ switch_dir_external(const char *local_ab
return SVN_NO_ERROR;
}
-/* Try to update a file external at LOCAL_ABSPATH to URL at REVISION using a
- access baton that has a write lock. Use SCRATCH_POOL for temporary
+/* Try to update a file external at LOCAL_ABSPATH to SWITCH_LOC. This function
+ assumes caller has a write lock in CTX. Use SCRATCH_POOL for temporary
allocations, and use the client context CTX. */
static svn_error_t *
switch_file_external(const char *local_abspath,
- const char *url,
- const svn_opt_revision_t *peg_revision,
- const svn_opt_revision_t *revision,
+ const svn_client__pathrev_t *switch_loc,
+ const char *record_url,
+ const svn_opt_revision_t *record_peg_revision,
+ const svn_opt_revision_t *record_revision,
const char *def_dir_abspath,
svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
@@ -461,7 +464,8 @@ switch_file_external(const char *local_a
SVN_ERR_CLIENT_FILE_EXTERNAL_OVERWRITE_VERSIONED, 0,
_("The file external from '%s' cannot overwrite the existing "
"versioned item at '%s'"),
- url, svn_dirent_local_style(local_abspath, scratch_pool));
+ switch_loc->url,
+ svn_dirent_local_style(local_abspath, scratch_pool));
}
}
else
@@ -483,25 +487,17 @@ switch_file_external(const char *local_a
void *report_baton;
const svn_delta_editor_t *switch_editor;
void *switch_baton;
- svn_client__pathrev_t *switch_loc;
svn_revnum_t revnum;
apr_array_header_t *inherited_props;
- const char *dir_abspath;
- const char *target;
+ const char *target = svn_dirent_basename(local_abspath, scratch_pool);
- svn_dirent_split(&dir_abspath, &target, local_abspath, scratch_pool);
-
- /* Open an RA session to 'source' URL */
- SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &switch_loc,
- url, dir_abspath,
- peg_revision, revision,
- ctx, scratch_pool));
/* Get the external file's iprops. */
SVN_ERR(svn_ra_get_inherited_props(ra_session, &inherited_props, "",
switch_loc->rev,
scratch_pool, scratch_pool));
- SVN_ERR(svn_ra_reparent(ra_session, svn_uri_dirname(url, scratch_pool),
+ SVN_ERR(svn_ra_reparent(ra_session,
+ svn_uri_dirname(switch_loc->url, scratch_pool),
scratch_pool));
SVN_ERR(svn_wc__get_file_external_editor(&switch_editor, &switch_baton,
@@ -515,7 +511,9 @@ switch_file_external(const char *local_a
use_commit_times,
diff3_cmd, preserved_exts,
def_dir_abspath,
- url, peg_revision, revision,
+ record_url,
+ record_peg_revision,
+ record_revision,
ctx->cancel_func,
ctx->cancel_baton,
ctx->notify_func2,
@@ -526,7 +524,7 @@ switch_file_external(const char *local_a
invalid revnum, that means RA will use the latest revision. */
SVN_ERR(svn_ra_do_switch3(ra_session, &reporter, &report_baton,
switch_loc->rev,
- target, svn_depth_unknown, url,
+ target, svn_depth_unknown, switch_loc->url,
FALSE /* send_copyfrom */,
TRUE /* ignore_ancestry */,
switch_editor, switch_baton,
@@ -549,7 +547,7 @@ switch_file_external(const char *local_a
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
notify->revision = revnum;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, scratch_pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, scratch_pool);
}
}
@@ -662,7 +660,7 @@ handle_external_item_removal(const svn_c
notify->kind = kind;
notify->err = err;
- (ctx->notify_func2)(ctx->notify_baton2, notify, scratch_pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, scratch_pool);
if (err && err->apr_err == SVN_ERR_WC_LEFT_LOCAL_MOD)
{
@@ -672,7 +670,7 @@ handle_external_item_removal(const svn_c
notify->kind = svn_node_dir;
notify->err = err;
- (ctx->notify_func2)(ctx->notify_baton2, notify, scratch_pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, scratch_pool);
}
}
@@ -693,10 +691,10 @@ handle_external_item_change(svn_client_c
const char *local_abspath,
const char *old_defining_abspath,
const svn_wc_external_item2_t *new_item,
+ svn_ra_session_t *ra_session,
svn_boolean_t *timestamp_sleep,
apr_pool_t *scratch_pool)
{
- svn_ra_session_t *ra_session;
svn_client__pathrev_t *new_loc;
const char *new_url;
svn_node_kind_t ext_kind;
@@ -717,12 +715,39 @@ handle_external_item_change(svn_client_c
scratch_pool, scratch_pool));
/* Determine if the external is a file or directory. */
- /* Get the RA connection. */
- SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &new_loc,
- new_url, NULL,
- &(new_item->peg_revision),
- &(new_item->revision), ctx,
- scratch_pool));
+ /* Get the RA connection, if needed. */
+ if (ra_session)
+ {
+ svn_error_t *err = svn_ra_reparent(ra_session, new_url, scratch_pool);
+
+ if (err)
+ {
+ if (err->apr_err == SVN_ERR_RA_ILLEGAL_URL)
+ {
+ svn_error_clear(err);
+ ra_session = NULL;
+ }
+ else
+ return svn_error_trace(err);
+ }
+ else
+ {
+ SVN_ERR(svn_client__resolve_rev_and_url(&new_loc,
+ ra_session, new_url,
+ &(new_item->peg_revision),
+ &(new_item->revision), ctx,
+ scratch_pool));
+
+ SVN_ERR(svn_ra_reparent(ra_session, new_loc->url, scratch_pool));
+ }
+ }
+
+ if (!ra_session)
+ SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &new_loc,
+ new_url, NULL,
+ &(new_item->peg_revision),
+ &(new_item->revision), ctx,
+ scratch_pool));
SVN_ERR(svn_ra_check_path(ra_session, "", new_loc->rev, &ext_kind,
scratch_pool));
@@ -746,7 +771,7 @@ handle_external_item_change(svn_client_c
/* First notify that we're about to handle an external. */
if (ctx->notify_func2)
{
- (*ctx->notify_func2)(
+ ctx->notify_func2(
ctx->notify_baton2,
svn_wc_create_notify(local_abspath,
svn_wc_notify_update_external,
@@ -770,7 +795,7 @@ handle_external_item_change(svn_client_c
&(new_item->peg_revision),
&(new_item->revision),
parent_dir_abspath,
- timestamp_sleep, ctx,
+ timestamp_sleep, ra_session, ctx,
scratch_pool));
break;
case svn_node_file:
@@ -828,6 +853,7 @@ handle_external_item_change(svn_client_c
}
SVN_ERR(switch_file_external(local_abspath,
+ new_loc,
new_url,
&new_item->peg_revision,
&new_item->revision,
@@ -878,6 +904,7 @@ handle_externals_change(svn_client_ctx_t
apr_hash_t *old_externals,
svn_depth_t ambient_depth,
svn_depth_t requested_depth,
+ svn_ra_session_t *ra_session,
apr_pool_t *scratch_pool)
{
apr_array_header_t *new_desc;
@@ -946,7 +973,7 @@ handle_externals_change(svn_client_ctx_t
local_abspath, url,
target_abspath,
old_defining_abspath,
- new_item,
+ new_item, ra_session,
timestamp_sleep,
iterpool),
iterpool));
@@ -969,6 +996,7 @@ svn_client__handle_externals(apr_hash_t
const char *target_abspath,
svn_depth_t requested_depth,
svn_boolean_t *timestamp_sleep,
+ svn_ra_session_t *ra_session,
svn_client_ctx_t *ctx,
apr_pool_t *scratch_pool)
{
@@ -1018,7 +1046,7 @@ svn_client__handle_externals(apr_hash_t
local_abspath,
desc_text, old_external_defs,
ambient_depth, requested_depth,
- iterpool));
+ ra_session, iterpool));
}
/* Remove the remaining externals */
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/import.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/import.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/import.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/import.c Tue
Nov 25 16:26:48 2014
@@ -245,7 +245,7 @@ import_file(const svn_delta_editor_t *ed
notify->content_state = notify->prop_state
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
/* If this is a special file, we need to set the svn:special
@@ -328,7 +328,7 @@ get_filtered_children(apr_hash_t **child
notify->content_state = notify->prop_state
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, iterpool);
+ ctx->notify_func2(ctx->notify_baton2, notify, iterpool);
}
svn_hash_sets(dirents, base_name, NULL);
@@ -470,7 +470,7 @@ import_children(const char *dir_abspath,
notify->content_state = notify->prop_state
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, iterpool);
+ ctx->notify_func2(ctx->notify_baton2, notify, iterpool);
}
}
else
@@ -559,7 +559,7 @@ import_dir(const svn_delta_editor_t *edi
notify->content_state = notify->prop_state
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
}
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/info.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/info.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/info.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/info.c Tue Nov
25 16:26:48 2014
@@ -388,8 +388,7 @@ svn_client_info4(const char *abspath_or_
SVN_ERR(svn_client__ra_session_from_path2(&ra_session, &pathrev,
abspath_or_url, NULL, peg_revision,
revision, ctx, pool));
-
- svn_uri_split(NULL, &base_name, pathrev->url, pool);
+ base_name = svn_uri_basename(pathrev->url, pool);
/* Get the dirent for the URL itself. */
SVN_ERR(svn_ra_stat(ra_session, "", pathrev->rev, &the_ent, pool));
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/locking_commands.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/locking_commands.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/libsvn_client/locking_commands.c
(original)
+++
subversion/branches/move-tracking-2/subversion/libsvn_client/locking_commands.c
Tue Nov 25 16:26:48 2014
@@ -375,7 +375,6 @@ organize_lock_targets(apr_array_header_t
&wli->lock_token,
wc_ctx, local_abspath,
FALSE /* ignore_enoent */,
- FALSE /* show_hidden */,
result_pool, iterpool));
if (kind != svn_node_file)
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/merge.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/merge.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/merge.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/merge.c Tue
Nov 25 16:26:48 2014
@@ -1288,8 +1288,8 @@ record_skip(merge_cmd_baton_t *merge_b,
notify->kind = kind;
notify->content_state = notify->prop_state = state;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2, notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2, notify,
+ scratch_pool);
}
return SVN_NO_ERROR;
}
@@ -1415,8 +1415,8 @@ record_tree_conflict(merge_cmd_baton_t *
scratch_pool);
notify->kind = local_node_kind;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2, notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2, notify,
+ scratch_pool);
}
return SVN_NO_ERROR;
@@ -1450,8 +1450,8 @@ record_update_add(merge_cmd_baton_t *mer
notify = svn_wc_create_notify(local_abspath, action, scratch_pool);
notify->kind = kind;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2, notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2, notify,
+ scratch_pool);
}
return SVN_NO_ERROR;
@@ -1484,8 +1484,8 @@ record_update_update(merge_cmd_baton_t *
notify->content_state = content_state;
notify->prop_state = prop_state;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2, notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2, notify,
+ scratch_pool);
}
return SVN_NO_ERROR;
@@ -1551,8 +1551,8 @@ handle_pending_notifications(merge_cmd_b
notify->kind = svn_node_kind_from_word(
apr_hash_this_val(hi));
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2,
- notify, scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2,
+ notify, scratch_pool);
}
db->pending_deletes = NULL;
@@ -1618,9 +1618,9 @@ mark_dir_edited(merge_cmd_baton_t *merge
notify->kind = svn_node_dir;
notify->content_state = notify->prop_state = db->skip_reason;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2,
- notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2,
+ notify,
+ scratch_pool);
}
if (merge_b->merge_source.ancestral
@@ -1700,9 +1700,9 @@ mark_file_edited(merge_cmd_baton_t *merg
notify->kind = svn_node_file;
notify->content_state = notify->prop_state = fb->skip_reason;
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2,
- notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2,
+ notify,
+ scratch_pool);
}
if (merge_b->merge_source.ancestral
@@ -3680,8 +3680,8 @@ notify_merge_begin(merge_cmd_baton_t *me
notify->merge_range = NULL;
}
- (*merge_b->ctx->notify_func2)(merge_b->ctx->notify_baton2, notify,
- scratch_pool);
+ merge_b->ctx->notify_func2(merge_b->ctx->notify_baton2, notify,
+ scratch_pool);
return SVN_NO_ERROR;
}
@@ -4706,7 +4706,6 @@ calculate_remaining_ranges(svn_client__m
NULL, NULL, NULL, NULL,
ctx->wc_ctx, child->abspath,
TRUE /* ignore_enoent */,
- FALSE /* show_hidden */,
scratch_pool, scratch_pool));
/* If CHILD has no base revision then it hasn't been committed yet, so it
can't have any "future" history. */
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/mergeinfo.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/mergeinfo.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/mergeinfo.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/mergeinfo.c
Tue Nov 25 16:26:48 2014
@@ -224,7 +224,6 @@ svn_client__get_wc_mergeinfo(svn_mergein
SVN_ERR(svn_wc__node_get_base(NULL, &base_revision, NULL, NULL, NULL, NULL,
ctx->wc_ctx, local_abspath,
TRUE /* ignore_enoent */,
- FALSE /* show_hidden */,
scratch_pool, scratch_pool));
iterpool = svn_pool_create(scratch_pool);
@@ -295,7 +294,7 @@ svn_client__get_wc_mergeinfo(svn_mergein
SVN_ERR(svn_wc__node_get_base(NULL, &parent_base_rev, NULL, NULL,
NULL, NULL,
ctx->wc_ctx, local_abspath,
- TRUE, FALSE,
+ TRUE /* ignore_enoent */,
scratch_pool, scratch_pool));
/* ### This checks the WORKING changed_rev, so invalid on replacement
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/patch.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/patch.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/patch.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/patch.c Tue
Nov 25 16:26:48 2014
@@ -2017,7 +2017,7 @@ send_hunk_notification(const hunk_info_t
notify->hunk_fuzz = hi->fuzz;
notify->prop_name = prop_name;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
return SVN_NO_ERROR;
}
@@ -2079,7 +2079,7 @@ send_patch_notification(const patch_targ
notify->prop_state = svn_wc_notify_state_changed;
}
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
if (action == svn_wc_notify_patch)
{
@@ -2133,7 +2133,7 @@ send_patch_notification(const patch_targ
notify = svn_wc_create_notify(target->local_abspath,
svn_wc_notify_delete, pool);
notify->kind = svn_node_file;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
return SVN_NO_ERROR;
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/prop_commands.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/prop_commands.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
---
subversion/branches/move-tracking-2/subversion/libsvn_client/prop_commands.c
(original)
+++
subversion/branches/move-tracking-2/subversion/libsvn_client/prop_commands.c
Tue Nov 25 16:26:48 2014
@@ -520,7 +520,7 @@ svn_client_revprop_set2(const char *prop
notify->prop_name = propname;
notify->revision = *set_rev;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
return SVN_NO_ERROR;
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/ra.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/ra.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/ra.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/ra.c Tue Nov
25 16:26:48 2014
@@ -431,7 +431,7 @@ svn_client__open_ra_session_internal(svn
svn_wc_create_notify_url(corrected,
svn_wc_notify_url_redirect,
scratch_pool);
- (*ctx->notify_func2)(ctx->notify_baton2, notify, scratch_pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, scratch_pool);
}
/* Our caller will want to know what our final corrected URL was. */
Modified:
subversion/branches/move-tracking-2/subversion/libsvn_client/resolved.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/resolved.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/resolved.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/resolved.c Tue
Nov 25 16:26:48 2014
@@ -77,7 +77,7 @@ svn_client__resolve_conflicts(svn_boolea
ctx->notify_func2, ctx->notify_baton2,
iterpool));
- if (conflicts_remain)
+ if (conflicts_remain && !*conflicts_remain)
{
svn_error_t *err;
svn_boolean_t text_c, prop_c, tree_c;
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/revert.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/revert.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/revert.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/revert.c Tue
Nov 25 16:26:48 2014
@@ -98,7 +98,7 @@ revert(void *baton, apr_pool_t *result_p
|| err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND)
{
if (b->ctx->notify_func2)
- (*b->ctx->notify_func2)(
+ b->ctx->notify_func2(
b->ctx->notify_baton2,
svn_wc_create_notify(b->local_abspath, svn_wc_notify_skip,
scratch_pool),
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/status.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/status.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/status.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/status.c Tue
Nov 25 16:26:48 2014
@@ -577,7 +577,7 @@ svn_client_status6(svn_revnum_t *result_
= svn_wc_create_notify(target_abspath,
svn_wc_notify_status_completed, pool);
notify->revision = edit_revision;
- (ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
/* If the caller wants the result revision, give it to them. */
Modified: subversion/branches/move-tracking-2/subversion/libsvn_client/switch.c
URL:
http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_client/switch.c?rev=1641647&r1=1641646&r2=1641647&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_client/switch.c
(original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_client/switch.c Tue
Nov 25 16:26:48 2014
@@ -407,7 +407,7 @@ switch_internal(svn_revnum_t *result_rev
new_depths,
switch_loc->repos_root_url,
local_abspath,
- depth, timestamp_sleep,
+ depth, timestamp_sleep, ra_session,
ctx, pool));
}
@@ -422,7 +422,7 @@ switch_internal(svn_revnum_t *result_rev
= svn_wc_notify_state_inapplicable;
notify->lock_state = svn_wc_notify_lock_state_inapplicable;
notify->revision = revnum;
- (*ctx->notify_func2)(ctx->notify_baton2, notify, pool);
+ ctx->notify_func2(ctx->notify_baton2, notify, pool);
}
/* If the caller wants the result revision, give it to them. */