Make an rsync using script with old and new versions of rsync without using the "old" way (--old-args)?

"c.buhtz--- via rsync" <[email protected]>
Newsgroups gmane.network.rsync.general
Message-ID <[email protected]>
Hello,

this is not a usual support question which could be solved by reading 
documentation. I'm an upstream maintainer highly depending on rsync. I'm 
doing some research to better understand the behavior change [1] about 
argument protection when using spaces in path names. I'm not sure if I 
understand all details correct. And that is why I'm asking here. I would 
like to have a confirmation that I understand the details correct and 
that my "solution" is a good choice or if there are alternatives.

Let's see what I currently "know" and please correct me if I'm wrong.

  1. rsync version 3.2.3 (and older) doing it the "old" way which is 
unusual or unexpected by the users because it is not the way other 
applications usually handle path names in arguments.
  2. rsync version 3.2.4 (and younger) doing it the "new" way which is 
IMHO the recommended and preferd way.
  3. `--old-args` activates the "old" behavior
  4. `--protect-args` activates the "new" behavior
  5. `--old-args` and `--protect-args` are the opposite of each other? 
(See that Issue [6])
  6. `--old-args` exist in 3.2.4 (and younger) as a workaround to keep 
old scripts working
  7. `--protect-args` was introduced much earlier with 3.0.0 [2] to 
activate the "new" way

Am I correct so far?

My goals are
  1. Use the "new" arg protection way introduced with 3.2.4
  2. Scripts/applications using that "new way" should work with old and 
new versions of rsync without checking for the rsync version on the 
current system.

My goals in short: I want one way that will work now, in the feature and 
with all rsync versions.

Based on my current research it seems to me the solution would be to 
modify calls like this

     rsync -aiv host:"a simple file.pdf" .

to this with replacing double with single quotes and adding `-s` (short 
for `--protect-args`):

     rsync -s -aiv host:'a simple file.pdf' .

I'm using `-s` here because `--protect-args` will be renamed to 
`--secluded-args` in rsync 3.2.6 [3].

Sidenote: I still asked that question here [4] and here [5].

  [1] -- 
<https://download.samba.org/pub/rsync/NEWS#BEHAVIOR_CHANGES-3.2.4>
  [2] -- <https://download.samba.org/pub/rsync/NEWS#ENHANCEMENTS-3.0.0>
  [3] -- <https://download.samba.org/pub/rsync/NEWS#ENHANCEMENTS-3.2.6>
  [4] -- <https://unix.stackexchange.com/q/715216/136851>
  [5] -- <https://forums.debian.net/viewtopic.php?f=10&t=152720>
  [6] -- <https://bugzilla.samba.org/show_bug.cgi?id=15154>

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.