disable shellescape for rsync 3.2.4
rsync 3.2.4 broke backwards-compatability by preventing exposing filenames to the shell. Made the rsync and gcrypt special remotes detect this and disable shellescape. An alternative fix would have been to always set RSYNC_OLD_ARGS=1. Which would avoid the overhead of probing rsync --help for each affected remote. But that is really very fast to run, and it seemed better to switch to the modern code path rather than keeping on using the bad old code path. Sponsored-by: Tobias Ammann on Patreon
This commit is contained in:
parent
b760d31be1
commit
43701759a3
4 changed files with 35 additions and 13 deletions
|
@ -130,7 +130,8 @@ gen' r u c gc rs = do
|
|||
cst <- remoteCost gc $
|
||||
if repoCheap r then nearlyCheapRemoteCost else expensiveRemoteCost
|
||||
let (rsynctransport, rsyncurl, accessmethod) = rsyncTransportToObjects r gc
|
||||
let rsyncopts = Remote.Rsync.genRsyncOpts c gc rsynctransport rsyncurl
|
||||
protectsargs <- liftIO Remote.Rsync.probeRsyncProtectsArgs
|
||||
let rsyncopts = Remote.Rsync.genRsyncOpts protectsargs c gc rsynctransport rsyncurl
|
||||
let this = Remote
|
||||
{ uuid = u
|
||||
, cost = cst
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue