Added keyword argument, default_opts, to rsync_project. #910
Previously there was no way to remove any of the predefined rsync options. This
This does seem to make the extra_opts argument slightly redundant. I could remove it, but there would be backwards incompatibilities.
I also don't understand why the full call signature (all args) doesn't render in the Sphinx docs for rsync_project. The docs and usage would be clearer if the call signature didn't revert to:
Instead rendering as:
fabric.contrib.project.rsync_project(remote_dir, local_dir=None, exclude=(), delete=False,
@moorepants The Sphinx question is easy: Sphinx is kinda broken about this crap and requires one to manually write out (and then...remember to update...which never happens. Humans! Including myself!) the signature in the Sphinx doc stub. I believe this remains unsolved without wacky decorator-circumventing hijinx.
Re: the patch, I approve of the idea, though yes we can't really nuke
Applied editorial tweaks, then spent forever dicking around with the fledgling integration test suite so I could actually test the changes at a basic level. Seem to have succeeded, waiting for Travis-CI to confirm I am not insane before I merge :)
EDIT: Except they're either backed up or something's preventing Travis from seeing my integration branch. Meh. All passes locally; merged and pushed master.