Hello, This is a feature request for a command-line option to disable special interpretation of trailing slashes on source directories. I have been using rsync for a couple of years now (what an awesome program!) and the meaning of the trailing slash on a source is always the one aspect of its syntax that slows me down and makes me check and re-check the manual to ensure that I have remembered its behavior correctly. The likelihood of making a mistake with a trailing slash is compounded by the fact that shell completion (e.g. in bash) puts it there by default, and it was this very behavior that caused me to be a little too carefree last week and mess up a large backup. While the trailing slash is a powerful and useful feature, it also strikes me as risky to have so much power built into a single character of syntax, especially a character which usually has no special meaning in other programs. Others I have chatted with on this topic shared the same view. My feature request then, is for a command line switch to disable the special interpretation of the trailing slash on sources. A short option would be preferred. My reasoning is that it is easier to remember to always use a particular option, except in situations requiring more nuance, than it is to remember the special rule and to always check the syntax of the sources. Thank you for your time. -- John Foerch
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I don't speak for anyone else but I would be opposed to this. Primarily because there isn't an alternate syntax that performs the exact same function /path/* doesn't work as expected if using --delete (and for good reason). On 01/07/12 21:40, John J Foerch wrote:> Hello, > > This is a feature request for a command-line option to disable > special interpretation of trailing slashes on source directories. > I have been using rsync for a couple of years now (what an awesome > program!) and the meaning of the trailing slash on a source is > always the one aspect of its syntax that slows me down and makes me > check and re-check the manual to ensure that I have remembered its > behavior correctly. The likelihood of making a mistake with a > trailing slash is compounded by the fact that shell completion > (e.g. in bash) puts it there by default, and it was this very > behavior that caused me to be a little too carefree last week and > mess up a large backup. While the trailing slash is a powerful > and useful feature, it also strikes me as risky to have so much > power built into a single character of syntax, especially a > character which usually has no special meaning in other programs. > Others I have chatted with on this topic shared the same view. My > feature request then, is for a command line switch to disable the > special interpretation of the trailing slash on sources. A short > option would be preferred. My reasoning is that it is easier to > remember to always use a particular option, except in situations > requiring more nuance, than it is to remember the special rule and > to always check the syntax of the sources. > > Thank you for your time. >- -- ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~ Kevin Korb Phone: (407) 252-6853 Systems Administrator Internet: FutureQuest, Inc. Kevin at FutureQuest.net (work) Orlando, Florida kmk at sanitarium.net (personal) Web page: http://www.sanitarium.net/ PGP public key available on web site. ~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk8JA90ACgkQVKC1jlbQAQcecwCcCCIUg19hL/gxyDKJh2OTBBO4 N5QAnA95PRm1pDwn2MPeCmy7o2zldc+I =osqT -----END PGP SIGNATURE-----
On Sat, Jan 7, 2012 at 6:40 PM, John J Foerch <jjfoerch at earthlink.net>wrote:> This is a feature request for a command-line option to disable > special interpretation of trailing slashes on source directories.One solution is to install a bash script (or setup a bash function) in place of the real rsync that strips a single trailing slash from each arg. That lets you specify dir// if you want to copy a dir's contents. Here's one I did some mild tesing on and it appears to work OK: #!/bin/bash args=() for arg in "${@}"; do # Strip a single trailing slash from each arg (if present) args=("${args[@]}" "${arg%/}") done echo /usr/bin/rsync "${args[@]}" #exec /usr/bin/rsync "${args[@]}" When you're satisfied with that, comment out the echo and uncomment the exec. Install it somewhere on your path ahead of the real rsync, or rename the real rsync (tweak the script to exec the right binary) and install the script in place of the current rsync binary. ..wayne.. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.samba.org/pipermail/rsync/attachments/20120107/a3978386/attachment.html>
Maybe Matching Threads
- how to replace a single forward slash with a double backward slash in a string?
- how to replace a single backward slash with a double backward slash?
- [Bug 13582] New: rsync filters containing multiple adjacent slashes aren't reduced to just one slash before matching
- Weird routing error in 1.1.6 slash frozen on edge
- Re: url parameter :id with slash (/) failed to route