Author: danielsh
Date: Sat Jul 24 11:53:27 2010
New Revision: 978855
URL: http://svn.apache.org/viewvc?rev=978855&view=rev
Log:
On the 'atomic-revprop' branch:
Teach the wrapper utility to respect HTTP_LIBRARY.
* subversion/tests/cmdline/svntest/actions.py
(run_and_verify_atomic_ra_revprop_change):
Document which HTTP_LIBRARY is used.
* subversion/tests/cmdline/svntest/main.py
(run_atomic_ra_revprop_change):
Document which HTTP_LIBRARY is used.
Add HTTP_LIBRARY to argv when running the command.
* subversion/tests/cmdline/atomic-ra-revprop-change.c
(construct_config): New helper.
(change_rev_prop): Add HTTP_LIBRARY parameter. Fill a config with it.
(main): Add HTTP_LIBRARY argv argument and use it.
Modified:
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py
Modified:
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
URL:
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
---
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
(original)
+++
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
Sat Jul 24 11:53:27 2010
@@ -75,21 +75,46 @@ construct_auth_baton(svn_auth_baton_t **
}
static svn_error_t *
+construct_config(apr_hash_t **config_p,
+ const char *http_library,
+ apr_pool_t *pool)
+{
+ apr_hash_t *config;
+ svn_config_t *servers;
+
+ /* Populate SERVERS. */
+ SVN_ERR(svn_config_create(&servers, pool));
+ svn_config_set(servers, SVN_CONFIG_SECTION_GLOBAL,
+ SVN_CONFIG_OPTION_HTTP_LIBRARY, http_library);
+
+ /* Populate CONFIG. */
+ config = apr_hash_make(pool);
+ apr_hash_set(config, SVN_CONFIG_CATEGORY_SERVERS,
+ APR_HASH_KEY_STRING, servers);
+
+ *config_p = config;
+ return SVN_NO_ERROR;
+}
+
+static svn_error_t *
change_rev_prop(const char *url,
svn_revnum_t revision,
const char *propname,
const svn_string_t *propval,
const svn_string_t *old_value,
+ const char *http_library,
apr_pool_t *pool)
{
svn_ra_callbacks2_t *callbacks;
svn_ra_session_t *sess;
+ apr_hash_t *config;
SVN_ERR(svn_ra_create_callbacks(&callbacks, pool));
SVN_ERR(construct_auth_baton(&callbacks->auth_baton, pool));
+ SVN_ERR(construct_config(&config, http_library, pool));
SVN_ERR(svn_ra_open3(&sess, url, NULL, callbacks, NULL /* baton */,
- NULL /* config */, pool));
+ config, pool));
SVN_ERR(svn_ra_change_rev_prop2(sess, revision, propname,
&old_value, propval, pool));
@@ -109,11 +134,12 @@ main(int argc, const char *argv[])
const char *propname;
svn_string_t *propval;
svn_string_t *old_propval;
+ const char *http_library;
char *digits_end = NULL;
- if (argc != 6)
+ if (argc != 7)
{
- printf("USAGE: %s URL REVISION PROPNAME PROPVAL OLDPROPVAL\n");
+ printf("USAGE: %%s URL REVISION PROPNAME PROPVAL OLDPROPVAL
HTTP_LIBRARY\n");
exit(1);
}
@@ -132,13 +158,15 @@ main(int argc, const char *argv[])
propname = argv[3];
propval = svn_string_create(argv[4], pool);
old_propval = svn_string_create(argv[5], pool);
+ http_library = argv[6];
if ((! SVN_IS_VALID_REVNUM(revision)) || (! digits_end) || *digits_end)
SVN_INT_ERR(svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
_("Invalid revision number supplied")));
/* Do something. */
- err = change_rev_prop(url, revision, propname, propval, old_propval, pool);
+ err = change_rev_prop(url, revision, propname, propval, old_propval,
+ http_library, pool);
if (err)
{
svn_handle_error2(err, stderr, FALSE, "atomic-ra-revprop-change: ");
Modified:
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
URL:
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
---
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
(original)
+++
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
Sat Jul 24 11:53:27 2010
@@ -147,7 +147,8 @@ def run_and_verify_atomic_ra_revprop_cha
expected_exit,
url, revision, propname,
propval, old_propval):
- """Run atomic-ra-revprop-change helper and check its output and exit code."""
+ """Run atomic-ra-revprop-change helper and check its output and exit code.
+ For HTTP, the default HTTP library is used."""
exit_code, out, err = main.run_atomic_ra_revprop_change(url, revision,
propname,
propval, old_propval)
Modified:
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py
URL:
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
--- subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py
(original)
+++ subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py
Sat Jul 24 11:53:27 2010
@@ -617,14 +617,16 @@ def run_entriesdump(path):
def run_atomic_ra_revprop_change(url, revision, propname, propval,
old_propval):
"""Run the atomic-ra-revprop-change helper, returning its exit code, stdout,
- and stderr."""
+ and stderr. For HTTP, default HTTP library is used."""
# use spawn_process rather than run_command to avoid copying all the data
# to stdout in verbose mode.
#exit_code, stdout_lines, stderr_lines = spawn_process(entriesdump_binary,
# 0, 0, None, path)
+ # This passes HTTP_LIBRARY in addition to our params.
return run_command(atomic_ra_revprop_change_binary, True, False,
- url, revision, propname, propval, old_propval)
+ url, revision, propname, propval, old_propval,
+ options.http_library)
# Chmod recursively on a whole subtree