Jon Foster <jon.foster@cabot.co.uk>
r850071 | sussman | 2004-06-15 04:14:53 +0000 (Tue, 15 Jun 2004)
Cleanup warnings in svn-push.c.
Patch by: Mark Benedetto King <mbk@lowlatency.com>
Jon Foster <jon@jon-foster.co.uk>
* contrib/client-side/svn-push/svn-push.c
Add #include <svn_cmdline.h>
(my_commit_callback): Replace %i with %SVN_REVNUM_T_FMT.
(new_change_file_prop): Make static.
(new_change_dir_prop): Make static.
(do_job): Make delta_editor const, in order to respect
the interface to ra->get_commit_editor(). Introduce
new variable, "my_delta_editor", to hold the locally
modified editor. Conditionally compile the declaration
of the authentication related local variables, since
their references are only conditionally compiled.
(main): Remove an unused local variable.
r884842 | stsp | 2009-11-27 11:58:41 +0000 (Fri, 27 Nov 2009)
Fix a bug in svnsync causing stale sync-locks on mirror repositories.
* subversion/svnsync/main.c
(get_lock): The lock attempt is done in iteration N, and success is
checked in iteration N+1. Prevent the case where svnsync attempts
to take the lock in the very last iteration, doesn't check for
success, and ends up erroring out, leaving behind a stale lock.
Found by: Jon Foster <Jon.Foster@cabot.co.uk>
Based on patch by: philip
r884900 | julianfoad | 2009-11-27 15:58:52 +0000 (Fri, 27 Nov 2009)
* subversion/svnsync/main.c
(svnsync_options): Remove stray newline after --config-option help text.
Patch by: Jon Foster <jon.foster{_AT_}cabot.co.uk>
r910212 | stsp | 2010-02-15 12:57:18 +0000 (Mon, 15 Feb 2010)
Add a --disable-locking option to svnsync.
The built-in locking of svnsync has a known race condition (see issue #3546).
This option allows those who'd rather use an external locking mechaninism
(such as tools like flock and lockfile) to disable svnsync's internal locking
entirely. This avoids associated network overhead, and stale locks in case the
network connection drops unexpectedly.
* subversion/svnsync/main.c
(svnsync__opt): Add svnsync_opt_disable_locking.
(svnsync_cm): Enable the new --disable-locking option for the
init, sync, and copy-revprops subcommands.
(svnsync_options): Document --disable-locking option.
(opt_baton_t): New field 'disable_locking'.
(initialize_cmd, synchronize_cmd, copy_revprops_cmd): Don't use
locking if the --disable-locking option was passed.
(main): Pass the --disable-locking option into the opt baton.
Patch by: Jon Foster <Jon.Foster@cabot.co.uk>
me
r927222 | rdonch | 2010-03-24 23:29:20 +0000 (Wed, 24 Mar 2010)
SWIG/Python: enable callback functions to return Subversion errors (by
throwing a SubversionException).
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
(callback_exception_error): Extend to check for a SubversionException
and attempt to translate it into an svn_error_t*.
* subversion/bindings/swig/python/tests/repository.py:
(SubversionRepositoryTestCase.test_cease_invocation): New test for
the above functionality.
Patch by: Alexey Neyman <stilor@att.net>
me
Review by: Jon Foster <Jon.Foster@cabot.co.uk>
r934387 | julianfoad | 2010-04-15 12:28:24 +0000 (Thu, 15 Apr 2010)
* roadmap.html: Fix some broken links, and delete some others.
Suggested by: Jon Foster <Jon.Foster{_AT_}cabot.co.uk>
r943619 | cmpilato | 2010-05-12 18:28:19 +0000 (Wed, 12 May 2010)
Fix issue #3637. This introduces a new syntax for 'svnsync sync' and
'svnsync copy-revprops', plus a new --revision (-r) option for use
with 'svnsync copy-revprops'.
* subversion/svnsync/main.c
(svnsync_cmd_table): Update usage messages for 'sync' and
'copy-revprops' subcommands. Add support for '-r' to
'copy-revprops'.
(svnsync_options): Add '--revision (-r)' option.
(opt_baton_t): Add 'start_rev' and 'end_rev' parameters.
(open_source_session): Now accept a 'from_url' parameter, which is
the preferred URL to use to open from_session.
(do_synchronize, do_copy_revprops): Update call to
open_source_session(), using baton-provided 'from_url' (if any).
(synchronize_cmd): Allow a second command-line argument, the source
URL. If we get one, validate it and pass it to
make_subcommand_baton().
(resolve_revnums): New, broken out from copy_revprops_cmd().
(copy_revprops_cmd): Determine which syntax is in use: the one where
the second command-line argument is the source URL, or the one where
it's a revision/range. If the former, validate the source URL and
pass it to make_subcommand_baton().
(main): Initialize new revision opt_baton members, and parse
'--revision (-r)' options.
* subversion/tests/cmdline/svnsync_tests.py
(run_sync): Add 'source_url' optional parameter. Callers updated.
(run_copy_revprops): Add 'source_url' parameter. Callers updated.
(run_test): Pass 'repo_url' to run_sync() and run_copy_revprops().
Suggested by: Jon Foster <Jon.Foster{_AT_}cabot.co.uk>
r998880 | danielsh | 2010-09-20 10:36:29 +0000 (Mon, 20 Sep 2010)
Use a new, distinct error code if svn_fs_change_rev_prop2's old_value_p
doesn't match.
* subversion/include/svn_error_codes.h
(SVN_ERR_BAD_OLD_VALUE): New error code.
* subversion/libsvn_fs_fs/fs_fs.c
(change_rev_prop_body): Use SVN_ERR_BAD_OLD_VALUE when appropriate.
* subversion/libsvn_fs_base/revs-txns.c
(svn_fs_base__set_rev_prop): Use SVN_ERR_BAD_OLD_VALUE when appropriate.
* subversion/include/svn_fs.h
(svn_fs_change_rev_prop2): Update documentation.
* subversion/tests/libsvn_fs/fs-test.c
(FAILS_WITH_BPV): Rename to...
(FAILS_WITH_BOV): ... this. Change to test for SVN_ERR_BAD_OLD_VALUE.
(revision_props): Change to use FAILS_WITH_BOV instead of FAILS_WITH_BPV.
Patch by: Jon Foster <jon.foster@cabot.co.uk>
r999179 | danielsh | 2010-09-21 01:37:41 +0000 (Tue, 21 Sep 2010)
On the atomic-revprop branch:
Signal SVN_ERR_FS_PROP_BASEVALUE_MISMATCH over DAV using a HTTP 412
status code inside a 207 multi-status response.
Patch by: Jon Foster <jon.foster@cabot.co.uk>
(except the notes/ part, which I forgot to ask him to write)
* notes/http-and-webdav/webdav-protocol
(PROPPATCH): Document the protocol extension and its goal.
* subversion/mod_dav_svn/util.c
(dav_svn__convert_err): Map SVN_ERR_FS_PROP_BASEVALUE_MISMATCH to 412.
* subversion/libsvn_ra_neon/util.c
(multistatus_baton_t): New member 'contains_precondition_error'.
(end_207_element): Check for HTTP 412 status code and create
a SVN_ERR_FS_PROP_BASEVALUE_MISMATCH error if found.
* subversion/libsvn_ra_serf/ra_serf.h
(svn_ra_serf__server_error_t): New member 'contains_precondition_error'.
* subversion/libsvn_ra_serf/util.c
(parse_dav_status): New method.
(start_207): Parse DAV:status XML element.
(end_207): Parse DAV:status XML element. Use
SVN_ERR_FS_PROP_BASEVALUE_MISMATCH error code if applicable.
(svn_ra_serf__handle_multistatus_only): Initialise new member.
r999182 | danielsh | 2010-09-21 01:53:59 +0000 (Tue, 21 Sep 2010)
On the atomic-revprop branch:
Extend the tests to explicitly enforce the correct error code. To this end,
move some of the logic from the Python tests to the C helper.
Specifically, the helper is now always expected to exit(0), regardless of
whether the revpropchange should succeed; it if exits with a non-zero code, then
the test itself will fail.
Review by: Jon Foster
* subversion/tests/cmdline/atomic-ra-revprop-change.c
(USAGE_MSG): Document new argv argument.
(change_rev_prop): Take WANT_ERROR parameter and use it.
(main): Parse another argv argument and pass it to change_rev_prop().
* subversion/tests/cmdline/svntest/main.py
(run_atomic_ra_revprop_change):
Take WANT_ERROR parameter and pass it to atomic-ra-revprop-change.
* subversion/tests/cmdline/svntest/actions.py
(run_and_verify_atomic_ra_revprop_change):
Take WANT_ERROR parameter and pass it to run_atomic_ra_revprop_change().
* subversion/tests/cmdline/prop_tests.py
(atomic_over_ra.FAILS_WITH_BPV, atomic_over_ra.PASSES_WITHOUT_BPV):
Update calls for new parameter and changed semantics (return code
is always zero now).
r999868 | danielsh | 2010-09-22 10:57:55 +0000 (Wed, 22 Sep 2010)
On the atomic-revprop branch:
Let svnsync warn the user whenever the server doesn't support atomic locking.
Suggested by: Jon Foster
* subversion/svnsync/main.c
(get_lock): Warn on stderr whenever the server doesn't support atomic revprops.
* subversion/svnrdump/load_editor.c
(get_lock): Ditto.