iterate-ch / cyberduck

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
https://cyberduck.io/
GNU General Public License v3.0
3.31k stars 291 forks source link

Skip files matching regular expressions #8957

Open cyberduck opened 9 years ago

cyberduck commented 9 years ago

b079f10 created the issue

Hello Currently the only options for synchronize are mirror, download and upload as described in https://trac.cyberduck.io/wiki/help/en/howto/sync

  1. can you please add an enhancement that will allow the synchronize to delete remote files if they do not exist anymore in the source ? something like "robocopy /purge" or "winscp synchronize remote -delete"
  2. can you please add the possibility to skip files matching regular expressions in cyberduck CLI as well ? currently I see that's only possible in CyberDuck GUI.

thank you,

cyberduck commented 9 years ago

@dkocher commented

Replying to [8957 adrian.tartareanu]:

  1. can you please add an enhancement that will allow the synchronize to delete remote files if they do not exist anymore in the source ? something like "robocopy /purge" or "winscp synchronize remote -delete" https://winscp.net/eng/docs/scriptcommand_synchronize

Duplicate for #12171.

cyberduck commented 9 years ago

@dkocher commented

You can use glob patterns in --download and --upload arguments.

cyberduck commented 9 years ago

b079f10 commented

please excuse my noobness but it's very difficult to guess where and how exactly to place the regex using both --synchronize and --upload flags, are you kind enough to provide an example ? I am currently using this as follows:

duck --synchronize mycyberduck://host/folder/ D:\windowspath\ -u teenant:user -p password -e upload

mycyberduck is a custom profile.

or even better, can you enhance the help menu so that it would be easier to understand how to use this feature ?

thank you,

cyberduck commented 9 years ago

@dkocher commented

Replying to [comment:6 adrian.tartareanu]:

The --synchronize command does not accept glob patterns for files to include. But with the --upload option you can use the syntax descibed in Glob pattern support for selecting files to transfer.

cyberduck commented 9 years ago

b079f10 commented

OK, I understand what you are saying: so instead of upload everything except some files you recommend me to only upload what I need. In some cases this may not be practical. I will rephrase my issue: can you use the exclusion filter .~..|.DS_Store|.svn|CVS in CyberDuck CLI for --upload option ? again, the help described in the link you provided only references "you can use a wildcard pattern to select files", it does not explain how to unselect (exclude) files to upload.

thank you,

cyberduck commented 9 years ago

@dkocher commented

Replying to [comment:8 adrian.tartareanu]:

OK, I understand what you are saying: so instead of upload everything except some files you recommend me to only upload what I need. In some cases this may not be practical. I will rephrase my issue: can you use the exclusion filter .~..|.DS_Store|.svn|CVS in CyberDuck CLI for --upload option ? again, the help described in the link you provided only references "you can use a wildcard pattern to select files", it does not explain how to unselect (exclude) files to upload.

I do understand this usage scenario. If you can set an environment variable in your CLI, you can set the property queue.upload.skip.regex as shown in Preferences. If have not used this this option to set properties myself on Windows. This might work if you are using in a Cygwin environment. Feedback very welcome, we know the documentation should be improved.

cyberduck commented 9 years ago

b079f10 commented

OK, I will sort this out one way or another and will offer you feedback in case I encounter anything else. Great product and keep up the good work !