You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by pb...@apache.org on 2012/03/27 01:23:49 UTC
svn commit: r1305667 [1/7] - in /subversion/branches/inheritable-props: ./
subversion/bindings/swig/python/svn/ subversion/bindings/swig/python/tests/
subversion/bindings/swig/ruby/svn/ subversion/bindings/swig/ruby/test/
subversion/include/private/ su...
Author: pburba
Date: Mon Mar 26 23:23:46 2012
New Revision: 1305667
URL: http://svn.apache.org/viewvc?rev=1305667&view=rev
Log:
On the inheritable-props branch: Sync with ^/subversion/trunk through
r1305659.
Added:
subversion/branches/inheritable-props/tools/dist/make-deps-tarball.sh (props changed)
- copied unchanged from r1305659, subversion/trunk/tools/dist/make-deps-tarball.sh
Removed:
subversion/branches/inheritable-props/tools/dist/templates/htaccess.ezt
subversion/branches/inheritable-props/tools/dist/templates/rc-candidates.ezt
subversion/branches/inheritable-props/tools/dist/templates/stable-candidates.ezt
Modified:
subversion/branches/inheritable-props/ (props changed)
subversion/branches/inheritable-props/CHANGES
subversion/branches/inheritable-props/INSTALL
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/client.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/core.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/delta.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/diff.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/fs.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/ra.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/repos.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/wc.py
subversion/branches/inheritable-props/subversion/bindings/swig/python/tests/pool.py
subversion/branches/inheritable-props/subversion/bindings/swig/ruby/svn/fs.rb
subversion/branches/inheritable-props/subversion/bindings/swig/ruby/test/test_info.rb
subversion/branches/inheritable-props/subversion/include/private/svn_auth_private.h
subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h
subversion/branches/inheritable-props/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
subversion/branches/inheritable-props/subversion/libsvn_auth_kwallet/kwallet.cpp
subversion/branches/inheritable-props/subversion/libsvn_client/copy.c
subversion/branches/inheritable-props/subversion/libsvn_client/merge.c
subversion/branches/inheritable-props/subversion/libsvn_fs/fs-loader.h
subversion/branches/inheritable-props/subversion/libsvn_fs_fs/dag.c
subversion/branches/inheritable-props/subversion/libsvn_fs_fs/dag.h
subversion/branches/inheritable-props/subversion/libsvn_fs_fs/fs_fs.c
subversion/branches/inheritable-props/subversion/libsvn_fs_fs/tree.c
subversion/branches/inheritable-props/subversion/libsvn_fs_fs/tree.h
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/blame.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/get_deleted_rev.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/getdate.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/getlocations.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/getlocationsegments.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/getlocks.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/locks.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/log.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/merge.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/mergeinfo.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/options.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/property.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/ra_serf.h
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/replay.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/sb_bucket.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/update.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/util.c
subversion/branches/inheritable-props/subversion/libsvn_ra_serf/xml.c
subversion/branches/inheritable-props/subversion/libsvn_subr/gpg_agent.c
subversion/branches/inheritable-props/subversion/libsvn_subr/macos_keychain.c
subversion/branches/inheritable-props/subversion/libsvn_subr/simple_providers.c
subversion/branches/inheritable-props/subversion/libsvn_subr/ssl_client_cert_pw_providers.c
subversion/branches/inheritable-props/subversion/libsvn_subr/win32_crypto.c
subversion/branches/inheritable-props/subversion/po/fr.po
subversion/branches/inheritable-props/subversion/po/ja.po
subversion/branches/inheritable-props/subversion/svn/merge-cmd.c
subversion/branches/inheritable-props/subversion/svnlook/main.c
subversion/branches/inheritable-props/subversion/tests/cmdline/copy_tests.py
subversion/branches/inheritable-props/subversion/tests/cmdline/svnadmin_tests.py
subversion/branches/inheritable-props/subversion/tests/cmdline/svnlook_tests.py
subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/main.py
subversion/branches/inheritable-props/subversion/tests/cmdline/svntest/sandbox.py
subversion/branches/inheritable-props/tools/dev/unix-build/Makefile.svn
subversion/branches/inheritable-props/tools/dist/_gnupg.py
subversion/branches/inheritable-props/tools/dist/dist.sh
subversion/branches/inheritable-props/tools/dist/release.py
Propchange: subversion/branches/inheritable-props/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1303256-1305659
Merged /subversion/branches/node_pool:r1304828-1305388
Modified: subversion/branches/inheritable-props/CHANGES
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/CHANGES?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/CHANGES (original)
+++ subversion/branches/inheritable-props/CHANGES Mon Mar 26 23:23:46 2012
@@ -385,7 +385,7 @@ the 1.6 release: http://subversion.apac
Version 1.6.18
-(?? Mar 2012, from /branches/1.6.x)
+(29 Mar 2012, from /branches/1.6.x)
http://svn.apache.org/repos/asf/subversion/tags/1.6.18
User-visible changes:
Modified: subversion/branches/inheritable-props/INSTALL
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/INSTALL?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/INSTALL (original)
+++ subversion/branches/inheritable-props/INSTALL Mon Mar 26 23:23:46 2012
@@ -324,7 +324,7 @@ I. INTRODUCTION
default. Add "http-library = neon" to the [global] section of
your ~/.subversion/servers file to use ra_neon instead.)
- a. Serf library 0.7.1 or newer (http://code.google.com/p/serf/)
+ a. Serf library 1.1.0 or newer (http://code.google.com/p/serf/)
In order to use ra_serf, you must install serf, and run
Subversion's ./configure with the argument --with-serf. If
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/client.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/client.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/client.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/client.py Mon Mar 26 23:23:46 2012
@@ -27,4 +27,5 @@ from libsvn.client import *
from svn.core import _unprefix_names
_unprefix_names(locals(), 'svn_client_')
_unprefix_names(locals(), 'SVN_CLIENT_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/core.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/core.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,44 @@ from libsvn.core import *
import libsvn.core as _libsvncore
import atexit as _atexit
import sys
+__all__ = [
+ # Symbols that 'import *' used to pull (in 1.7)
+ 'Pool',
+ 'SVNSYNC_PROP_CURRENTLY_COPYING',
+ 'SVNSYNC_PROP_FROM_URL',
+ 'SVNSYNC_PROP_FROM_UUID',
+ 'SVNSYNC_PROP_LAST_MERGED_REV',
+ 'SVNSYNC_PROP_LOCK',
+ 'SVNSYNC_PROP_PREFIX',
+ 'SubversionException',
+ # 'apr_array_header_t',
+ # 'apr_file_open_stderr',
+ # 'apr_file_open_stdout',
+ # 'apr_file_t',
+ # 'apr_hash_t',
+ # 'apr_initialize',
+ # 'apr_pool_clear',
+ # 'apr_pool_destroy',
+ # 'apr_pool_t',
+ # 'apr_terminate',
+ # 'apr_time_ansi_put',
+ # 'run_app',
+
+ # Symbols defined explicitly below.
+ 'SVN_IGNORED_REVNUM',
+ 'SVN_INVALID_REVNUM',
+ 'svn_path_compare_paths',
+ 'svn_mergeinfo_merge',
+ 'svn_mergeinfo_sort',
+ 'svn_rangelist_merge',
+ 'svn_rangelist_reverse',
+ # 'Stream',
+ # 'apr_initialize',
+ # 'apr_terminate',
+ 'svn_pool_create',
+ 'svn_pool_destroy',
+ 'svn_pool_clear',
+]
class SubversionException(Exception):
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/delta.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/delta.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/delta.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/delta.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,7 @@ from libsvn.delta import *
from svn.core import _unprefix_names
_unprefix_names(locals(), 'svn_delta_')
_unprefix_names(locals(), 'svn_txdelta_', 'tx_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
# Force our accessor since it appears that there isn't a more civilized way
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/diff.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/diff.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/diff.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/diff.py Mon Mar 26 23:23:46 2012
@@ -26,4 +26,5 @@
from libsvn.diff import *
from svn.core import _unprefix_names
_unprefix_names(locals(), 'svn_diff_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/fs.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/fs.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/fs.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/fs.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,7 @@ from libsvn.fs import *
from svn.core import _unprefix_names, Pool
_unprefix_names(locals(), 'svn_fs_')
_unprefix_names(locals(), 'SVN_FS_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/ra.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/ra.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/ra.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/ra.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,7 @@ from libsvn.ra import *
from svn.core import _unprefix_names
_unprefix_names(locals(), 'svn_ra_')
_unprefix_names(locals(), 'SVN_RA_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
class Callbacks:
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/repos.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/repos.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/repos.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/repos.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,7 @@ from libsvn.repos import *
from svn.core import _unprefix_names, Pool
_unprefix_names(locals(), 'svn_repos_')
_unprefix_names(locals(), 'SVN_REPOS_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/wc.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/wc.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/wc.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/svn/wc.py Mon Mar 26 23:23:46 2012
@@ -27,6 +27,7 @@ from libsvn.wc import *
from svn.core import _unprefix_names
_unprefix_names(locals(), 'svn_wc_')
_unprefix_names(locals(), 'SVN_WC_')
+__all__ = filter(lambda x: x.lower().startswith('svn_'), locals().keys())
del _unprefix_names
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/python/tests/pool.py
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/python/tests/pool.py?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/python/tests/pool.py (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/python/tests/pool.py Mon Mar 26 23:23:46 2012
@@ -195,10 +195,10 @@ class PoolTestCase(unittest.TestCase):
self.assertNone(anonymous_pool_ref())
# Try to cause a segfault using apr_terminate
- apr_terminate()
- apr_initialize()
- apr_terminate()
- apr_terminate()
+ svn.core.apr_terminate()
+ svn.core.apr_initialize()
+ svn.core.apr_terminate()
+ svn.core.apr_terminate()
# Destroy the application pool
svn_pool_destroy(libsvn.core.application_pool)
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/ruby/svn/fs.rb
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/ruby/svn/fs.rb?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/ruby/svn/fs.rb (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/ruby/svn/fs.rb Mon Mar 26 23:23:46 2012
@@ -415,7 +415,7 @@ module Svn
ignore_ancestry)
end
- def replay(editor, base_dir=nil, low_water_mark=nil, send_deltas=false,
+ def replay(editor, base_dir=nil, low_water_mark=nil, send_deltas=true,
&callback)
base_dir ||= ""
low_water_mark ||= Core::INVALID_REVNUM
Modified: subversion/branches/inheritable-props/subversion/bindings/swig/ruby/test/test_info.rb
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/bindings/swig/ruby/test/test_info.rb?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/bindings/swig/ruby/test/test_info.rb (original)
+++ subversion/branches/inheritable-props/subversion/bindings/swig/ruby/test/test_info.rb Mon Mar 26 23:23:46 2012
@@ -217,6 +217,7 @@ class SvnInfoTest < Test::Unit::TestCase
assert_equal([file1, file2, file4].sort, keys[0..-2])
assert_match(/\A#{file5}/, file5_key)
assert(info.diffs[file1].has_key?(:modified))
+ assert(info.diffs[file1].has_key?(:property_changed))
assert(info.diffs[file2].has_key?(:modified))
assert(info.diffs[file4].has_key?(:added))
assert(info.diffs[file4].has_key?(:property_changed))
@@ -229,6 +230,8 @@ class SvnInfoTest < Test::Unit::TestCase
assert_equal(0, info.diffs[file4][:added].deleted_line)
assert_equal(0, info.diffs[file5_key][:copied].added_line)
assert_equal(0, info.diffs[file5_key][:copied].deleted_line)
+ assert_equal("Name: #{file1_prop_key}\n - #{file1_prop_value}\n",
+ info.diffs[file1][:property_changed].body)
assert_equal("Name: #{file4_prop_key}\n + #{file4_prop_value}\n",
info.diffs[file4][:property_changed].body)
assert_equal(commit_info.revision, info.revision)
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_auth_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_auth_private.h?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_auth_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_auth_private.h Mon Mar 26 23:23:46 2012
@@ -82,36 +82,45 @@ typedef svn_error_t * (*svn_auth__passwo
svn_boolean_t non_interactive,
apr_pool_t *pool);
-/* Common implementation for simple_first_creds and
- windows_simple_first_creds. Uses PARAMETERS, REALMSTRING and the
- simple auth provider's username and password cache to fill a set of
- CREDENTIALS. PASSWORD_GET is used to obtain the password value.
- PASSTYPE identifies the type of the cached password. CREDENTIALS are
- allocated from POOL. */
-svn_error_t *
-svn_auth__simple_first_creds_helper(void **credentials,
- void **iter_baton,
- void *provider_baton,
- apr_hash_t *parameters,
- const char *realmstring,
- svn_auth__password_get_t password_get,
- const char *passtype,
- apr_pool_t *pool);
-
-/* Common implementation for simple_save_creds and
- windows_simple_save_creds. Uses PARAMETERS and REALMSTRING to save
- a set of CREDENTIALS to the simple auth provider's username and
- password cache. PASSWORD_SET is used to store the password.
- PASSTYPE identifies the type of the cached password. Allocates from POOL. */
-svn_error_t *
-svn_auth__simple_save_creds_helper(svn_boolean_t *saved,
- void *credentials,
- void *provider_baton,
- apr_hash_t *parameters,
- const char *realmstring,
- svn_auth__password_set_t password_set,
- const char *passtype,
- apr_pool_t *pool);
+/* Use PARAMETERS and REALMSTRING to set *CREDENTIALS to a set of
+ pre-cached authentication credentials pulled from the simple
+ credential cache store identified by PASSTYPE. PASSWORD_GET is
+ used to obtain the password value. Allocate *CREDENTIALS from
+ POOL.
+
+ NOTE: This function is a common implementation of code used by
+ several of the simple credential providers (the default disk cache
+ mechanism, Windows CryptoAPI, GNOME Keyring, etc.), typically in
+ their "first_creds" implementation. */
+svn_error_t *
+svn_auth__simple_creds_cache_get(void **credentials,
+ void **iter_baton,
+ void *provider_baton,
+ apr_hash_t *parameters,
+ const char *realmstring,
+ svn_auth__password_get_t password_get,
+ const char *passtype,
+ apr_pool_t *pool);
+
+/* Use PARAMETERS and REALMSTRING to save CREDENTIALS in the simple
+ credential cache store identified by PASSTYPE. PASSWORD_SET is
+ used to do the actual storage. Use POOL for necessary allocations.
+ Set *SAVED according to whether or not the credentials were
+ successfully stored.
+
+ NOTE: This function is a common implementation of code used by
+ several of the simple credential providers (the default disk cache
+ mechanism, Windows CryptoAPI, GNOME Keyring, etc.) typically in
+ their "save_creds" implementation. */
+svn_error_t *
+svn_auth__simple_creds_cache_set(svn_boolean_t *saved,
+ void *credentials,
+ void *provider_baton,
+ apr_hash_t *parameters,
+ const char *realmstring,
+ svn_auth__password_set_t password_set,
+ const char *passtype,
+ apr_pool_t *pool);
/* Implementation of svn_auth__password_get_t that retrieves
the plaintext password from CREDS when USERNAME matches the stored
@@ -139,39 +148,45 @@ svn_auth__simple_password_set(svn_boolea
apr_pool_t *pool);
-/* Common implementation for ssl_client_cert_pw_file_first_credentials.
- Uses PARAMETERS, REALMSTRING and the ssl client passphrase auth provider's
- passphrase cache to fill the CREDENTIALS. PASSPHRASE_GET is used to obtain
- the passphrase value. PASSTYPE identifies the type of the cached passphrase.
- CREDENTIALS are allocated from POOL. */
-svn_error_t *
-svn_auth__ssl_client_cert_pw_file_first_creds_helper
- (void **credentials,
- void **iter_baton,
- void *provider_baton,
- apr_hash_t *parameters,
- const char *realmstring,
- svn_auth__password_get_t passphrase_get,
- const char *passtype,
- apr_pool_t *pool);
-
-/* Common implementation for ssl_client_cert_pw_file_save_credentials and
- windows_ssl_client_cert_pw_file_save_credentials. Uses PARAMETERS and
- REALMSTRING to save a set of CREDENTIALS to the ssl client cert auth
- provider's passphrase cache. PASSPHRASE_SET is used to store the
- passphrase. PASSTYPE identifies the type of the cached passphrase.
- Allocates from POOL. */
-svn_error_t *
-svn_auth__ssl_client_cert_pw_file_save_creds_helper
- (svn_boolean_t *saved,
- void *credentials,
- void *provider_baton,
- apr_hash_t *parameters,
- const char *realmstring,
- svn_auth__password_set_t passphrase_set,
- const char *passtype,
- apr_pool_t *pool);
-
+/* Use PARAMETERS and REALMSTRING to set *CREDENTIALS to a set of
+ pre-cached authentication credentials pulled from the SSL client
+ certificate passphrase credential cache store identified by
+ PASSTYPE. PASSPHRASE_GET is used to obtain the passphrase value.
+ Allocate *CREDENTIALS from POOL.
+
+ NOTE: This function is a common implementation of code used by
+ several of the ssl client passphrase credential providers (the
+ default disk cache mechanism, Windows CryptoAPI, GNOME Keyring,
+ etc.), typically in their "first_creds" implementation. */
+svn_error_t *
+svn_auth__ssl_client_cert_pw_cache_get(void **credentials,
+ void **iter_baton,
+ void *provider_baton,
+ apr_hash_t *parameters,
+ const char *realmstring,
+ svn_auth__password_get_t passphrase_get,
+ const char *passtype,
+ apr_pool_t *pool);
+
+/* Use PARAMETERS and REALMSTRING to save CREDENTIALS in the SSL
+ client certificate passphrase credential cache store identified by
+ PASSTYPE. PASSPHRASE_SET is used to do the actual storage. Use
+ POOL for necessary allocations. Set *SAVED according to whether or
+ not the credentials were successfully stored.
+
+ NOTE: This function is a common implementation of code used by
+ several of the simple credential providers (the default disk cache
+ mechanism, Windows CryptoAPI, GNOME Keyring, etc.) typically in
+ their "save_creds" implementation. */
+svn_error_t *
+svn_auth__ssl_client_cert_pw_cache_set(svn_boolean_t *saved,
+ void *credentials,
+ void *provider_baton,
+ apr_hash_t *parameters,
+ const char *realmstring,
+ svn_auth__password_set_t passphrase_set,
+ const char *passtype,
+ apr_pool_t *pool);
/* This implements the svn_auth__password_get_t interface.
Set **PASSPHRASE to the plaintext passphrase retrieved from CREDS;
Modified: subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h (original)
+++ subversion/branches/inheritable-props/subversion/include/private/svn_client_private.h Mon Mar 26 23:23:46 2012
@@ -125,6 +125,8 @@ svn_client__find_symmetric_merge(svn_cli
const svn_opt_revision_t *source_revision,
const char *target_wcpath,
svn_boolean_t allow_mixed_rev,
+ svn_boolean_t allow_local_mods,
+ svn_boolean_t allow_switched_subtrees,
svn_client_ctx_t *ctx,
apr_pool_t *result_pool,
apr_pool_t *scratch_pool);
@@ -132,6 +134,18 @@ svn_client__find_symmetric_merge(svn_cli
/* Perform a symmetric merge.
*
* Merge according to MERGE into the WC at TARGET_WCPATH.
+ *
+ * The other parameters are as in svn_client_merge4(). IGNORE_ANCESTRY
+ * only controls the diffing of files, it doesn't prevent mergeinfo from
+ * being used.
+ *
+ * ### TODO: There's little point in this function being the only way the
+ * caller can use the result of svn_client__find_symmetric_merge(). The
+ * contents of MERGE should be more public, or there should be other ways
+ * the caller can use it, or these two functions should be combined into
+ * one. I want to make it more public, and also possibly have more ways
+ * to use it in future (for example, do_symmetric_merge_with_step_by_-
+ * step_confirmation).
*/
svn_error_t *
svn_client__do_symmetric_merge(const svn_client__symmetric_merge_t *merge,
Modified: subversion/branches/inheritable-props/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (original)
+++ subversion/branches/inheritable-props/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Mon Mar 26 23:23:46 2012
@@ -403,13 +403,12 @@ simple_gnome_keyring_first_creds(void **
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__simple_first_creds_helper
- (credentials,
- iter_baton, provider_baton,
- parameters, realmstring,
- password_get_gnome_keyring,
- SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
- pool);
+ return svn_auth__simple_creds_cache_get(credentials,
+ iter_baton, provider_baton,
+ parameters, realmstring,
+ password_get_gnome_keyring,
+ SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
+ pool);
}
/* Save encrypted credentials to the simple provider's cache. */
@@ -421,13 +420,12 @@ simple_gnome_keyring_save_creds(svn_bool
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__simple_save_creds_helper
- (saved, credentials,
- provider_baton, parameters,
- realmstring,
- password_set_gnome_keyring,
- SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
- pool);
+ return svn_auth__simple_creds_cache_set(saved, credentials,
+ provider_baton, parameters,
+ realmstring,
+ password_set_gnome_keyring,
+ SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
+ pool);
}
static void
@@ -491,13 +489,10 @@ ssl_client_cert_pw_gnome_keyring_first_c
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__ssl_client_cert_pw_file_first_creds_helper
- (credentials,
- iter_baton, provider_baton,
- parameters, realmstring,
- password_get_gnome_keyring,
- SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
- pool);
+ return svn_auth__ssl_client_cert_pw_cache_get(
+ credentials, iter_baton, provider_baton, parameters, realmstring,
+ password_get_gnome_keyring, SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
+ pool);
}
/* Save encrypted credentials to the ssl client cert password provider's
@@ -510,13 +505,10 @@ ssl_client_cert_pw_gnome_keyring_save_cr
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__ssl_client_cert_pw_file_save_creds_helper
- (saved, credentials,
- provider_baton, parameters,
- realmstring,
- password_set_gnome_keyring,
- SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
- pool);
+ return svn_auth__ssl_client_cert_pw_cache_set(
+ saved, credentials, provider_baton, parameters, realmstring,
+ password_set_gnome_keyring, SVN_AUTH__GNOME_KEYRING_PASSWORD_TYPE,
+ pool);
}
static const svn_auth_provider_t gnome_keyring_ssl_client_cert_pw_provider = {
Modified: subversion/branches/inheritable-props/subversion/libsvn_auth_kwallet/kwallet.cpp
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/libsvn_auth_kwallet/kwallet.cpp?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/libsvn_auth_kwallet/kwallet.cpp (original)
+++ subversion/branches/inheritable-props/subversion/libsvn_auth_kwallet/kwallet.cpp Mon Mar 26 23:23:46 2012
@@ -340,14 +340,14 @@ kwallet_simple_first_creds(void **creden
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__simple_first_creds_helper(credentials,
- iter_baton,
- provider_baton,
- parameters,
- realmstring,
- kwallet_password_get,
- SVN_AUTH__KWALLET_PASSWORD_TYPE,
- pool);
+ return svn_auth__simple_creds_cache_get(credentials,
+ iter_baton,
+ provider_baton,
+ parameters,
+ realmstring,
+ kwallet_password_get,
+ SVN_AUTH__KWALLET_PASSWORD_TYPE,
+ pool);
}
/* Save encrypted credentials to the simple provider's cache. */
@@ -359,13 +359,13 @@ kwallet_simple_save_creds(svn_boolean_t
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__simple_save_creds_helper(saved, credentials,
- provider_baton,
- parameters,
- realmstring,
- kwallet_password_set,
- SVN_AUTH__KWALLET_PASSWORD_TYPE,
- pool);
+ return svn_auth__simple_creds_cache_set(saved, credentials,
+ provider_baton,
+ parameters,
+ realmstring,
+ kwallet_password_set,
+ SVN_AUTH__KWALLET_PASSWORD_TYPE,
+ pool);
}
static const svn_auth_provider_t kwallet_simple_provider = {
@@ -405,13 +405,12 @@ kwallet_ssl_client_cert_pw_first_creds(v
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__ssl_client_cert_pw_file_first_creds_helper
- (credentials,
- iter_baton, provider_baton,
- parameters, realmstring,
- kwallet_password_get,
- SVN_AUTH__KWALLET_PASSWORD_TYPE,
- pool);
+ return svn_auth__ssl_client_cert_pw_cache_get(credentials,
+ iter_baton, provider_baton,
+ parameters, realmstring,
+ kwallet_password_get,
+ SVN_AUTH__KWALLET_PASSWORD_TYPE,
+ pool);
}
/* Save encrypted credentials to the ssl client cert password provider's
@@ -424,13 +423,12 @@ kwallet_ssl_client_cert_pw_save_creds(sv
const char *realmstring,
apr_pool_t *pool)
{
- return svn_auth__ssl_client_cert_pw_file_save_creds_helper
- (saved, credentials,
- provider_baton, parameters,
- realmstring,
- kwallet_password_set,
- SVN_AUTH__KWALLET_PASSWORD_TYPE,
- pool);
+ return svn_auth__ssl_client_cert_pw_cache_set(saved, credentials,
+ provider_baton, parameters,
+ realmstring,
+ kwallet_password_set,
+ SVN_AUTH__KWALLET_PASSWORD_TYPE,
+ pool);
}
static const svn_auth_provider_t kwallet_ssl_client_cert_pw_provider = {
Modified: subversion/branches/inheritable-props/subversion/libsvn_client/copy.c
URL: http://svn.apache.org/viewvc/subversion/branches/inheritable-props/subversion/libsvn_client/copy.c?rev=1305667&r1=1305666&r2=1305667&view=diff
==============================================================================
--- subversion/branches/inheritable-props/subversion/libsvn_client/copy.c (original)
+++ subversion/branches/inheritable-props/subversion/libsvn_client/copy.c Mon Mar 26 23:23:46 2012
@@ -495,6 +495,16 @@ verify_wc_srcs_and_dsts(const apr_array_
SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
TRUE, ctx, iterpool));
}
+ else if (make_parents && dst_parent_kind == svn_node_dir)
+ {
+ /* Check if parent is already versioned */
+ SVN_ERR(svn_wc_read_kind(&dst_parent_kind, ctx->wc_ctx,
+ pair->dst_parent_abspath, FALSE, iterpool));
+
+ if (dst_parent_kind == svn_node_none)
+ SVN_ERR(svn_client__make_local_parents(pair->dst_parent_abspath,
+ TRUE, ctx, iterpool));
+ }
else if (dst_parent_kind != svn_node_dir)
{
return svn_error_createf(SVN_ERR_WC_NOT_WORKING_COPY, NULL,