about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWayne Davison <wayned@users.sourceforge.net>2005-02-15 00:30:47 +0000
committerWayne Davison <wayned@users.sourceforge.net>2005-02-15 00:30:47 +0000
commit4040e0bb1f7d970fa5999cab838d5453a7f731a9 (patch)
tree1cf933b57248a6f70a11b98cdb2776bdd9be635f
parent3a5c9827a10cf00f8a143829dc1785365a30bc93 (diff)
downloadzsh-4040e0bb1f7d970fa5999cab838d5453a7f731a9.tar.gz
zsh-4040e0bb1f7d970fa5999cab838d5453a7f731a9.tar.xz
zsh-4040e0bb1f7d970fa5999cab838d5453a7f731a9.zip
- Split the options up into two sets: daemon options, and client
  options.  This makes sure that daemon options aren't offered
  after client options, and visa versa.
- Added some missing exclusion-lists for options (that avoids
  offering conflicting options to the user).
- Improved the description of a few options.
- Added some new options for the upcoming rsync 2.6.4.
-rw-r--r--Completion/Unix/Command/_rsync71
1 files changed, 37 insertions, 34 deletions
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index 0d912b2ee..a92f9ced6 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -71,18 +71,29 @@ _rsync_files() {
 }
 
 _arguments -s \
-  '*: :_rsync_files' \
   '*'{-v,--verbose}'[increase verbosity]' \
-  '(-q --quiet)'{-q,--quiet}'[show less information during transfer]' \
+  '--bwlimit=[limit I/O bandwidth]:KBytes per second:' \
+  '--port=[specify alternate port number]:port:' \
+  '(-4 -6 --ipv4 --ipv6)'{-4,--ipv4}'[prefer IPv4]' \
+  '(-4 -6 --ipv4 --ipv6)'{-6,--ipv6}'[prefer IPv6]' \
+  '(-)'{-h,--help}'[display help information]' \
+ - daemon \
+  '--address=[bind to the specified address]:address:_hosts' \
+  '--config=[specify alternate rsyncd.conf file]:file:_files' \
+  '--daemon[run as an rsync daemon]' \
+  '--no-detach[do not detach from the parent]' \
+ - client \
+  '*: :_rsync_files' \
+  '(-q --quiet)'{-q,--quiet}'[suppress non-error messages]' \
   '(-c --checksum)'{-c,--checksum}'[skip based on checksums, not mod-time & size]' \
-  '(-a --archive)'{-a,--archive}'[archive mode]' \
+  '(-a --archive -r --recursive)'{-a,--archive}'[archive mode; same as -rlptgoD (no -H)]' \
   '(-r --recursive)'{-r,--recursive}'[recurse into directories]' \
-  '(-E --relative)'{-R,--relative}'[use relative path names]' \
-  '--no-relative[turn off --relative]' \
+  '(-R --relative --no-relative)'{-R,--relative}'[use relative path names]' \
+  '(-R --relative)--no-relative[turn off --relative]' \
   '--no-implied-dirs[do not send implied dirs with --relative]' \
-  '(-b --backup)'{-b,--backup}'[make backups]' \
+  '(-b --backup)'{-b,--backup}'[make backups into hierarchy at indicated directory]' \
   '--backup-dir[make backups into specified directory]:backup directory:_directories' \
-  '--suffix=[override backup suffix]:suffix' \
+  '--suffix=[set backup suffix]:suffix' \
   '(-u --update)'{-u,--update}'[skip files that are newer on the receiving side]' \
   '--inplace[update destination files in-place]' \
   '(-d --dirs)'{-d,--dirs}'[transfer directories without recursing]' \
@@ -100,25 +111,25 @@ _arguments -s \
   '(-O --omit-dir-times)'{-O,--omit-dir-times}'[omit directories when preserving times]' \
   '(-S --sparse)'{-S,--sparse}'[handle sparse files efficiently]' \
   '(-n --dry-run)'{-n,--dry-run}'[show what would have been transferred]' \
-  '(-W --whole-file --no-whole-file)'{-W,--whole-file}'[copy files whole]' \
+  '(-W --whole-file --no-whole-file)'{-W,--whole-file}'[copy files whole (without rsync algorithm)]' \
   '(-W --whole-file)--no-whole-file[always use incremental rsync algorithm]' \
   '(-x --one-file-system)'{-x,--one-file-system}'[do not cross filesystem boundaries]' \
   '(-B --block-size)'{-B,--block-size=}'[force a fixed checksum block-size]:block size' \
-  '(-e --rsh)'{-e,--rsh}'[specify the remote shell]:remote-shell command:(rsh ssh)' \
+  '(-e --rsh)'{-e,--rsh}'[specify the remote shell to use]:remote-shell command:(rsh ssh)' \
   '--rsync-path=[specify path to rsync on the remote machine]:remote command:' \
-  '--existing[only update files that already exist]' \
-  '--ignore-existing[ignore files that already exist on the receiving side]' \
-  '--del[an alias for --delete-during]' \
-  '--delete[delete files that do not exist on the sending side]' \
-  '--delete-before[receiver deletes before transfer]' \
-  '--delete-during[receiver deletes during transfer]' \
-  '--delete-after[receiver deletes after transfer]' \
-  '--delete-excluded[also delete excluded files on the receiving side]' \
+  '--existing[only update files that already exist on receiving side]' \
+  '--ignore-existing[ignore files that already exist on receiving side]' \
+  '(--delete --delete-before --delete-during --delete-after)--del[an alias for --delete-during]' \
+  '(--del --delete-before --delete-during --delete-after)--delete[delete files that do not exist on the sending side]' \
+  '(--del --delete --delete-during --delete-after)--delete-before[receiver deletes before transfer]' \
+  '(--del --delete --delete-before --delete-after)--delete-during[receiver deletes during transfer]' \
+  '(--del --delete --delete-before --delete-during)--delete-after[receiver deletes after transfer]' \
+  '(--delete)--delete-excluded[also delete excluded files on the receiving side]' \
   '--ignore-errors[delete even if there are I/O errors]' \
   '--force[force deletion of directories even if not empty]' \
   '--max-delete=[do not delete more than NUM files]:number:' \
   '--max-size=[do not transfer any file larger than specified size]:number:' \
-  '--partial[keep partially transferred files]' \
+  '(-P)--partial[keep partially transferred files]' \
   '--partial-dir=[put a partially transferred file into specified directory]:directory:_files -/' \
   '--delay-updates=[put all updated files into place at end of transfer]:directory:_files -/' \
   '--numeric-ids[do not map uid/gid values by user/group name]' \
@@ -127,36 +138,28 @@ _arguments -s \
   '--size-only[skip files that match in size]' \
   '--modify-window=[compare mod-times with reduced accuracy]:seconds:' \
   '(-T --temp-dir)'{-T,--temp-dir=}'[create temporary files in specified directory]:directory:_files -/' \
+  '(-y --fuzzy)'{-y,--fuzzy}'[find similar file for basis if no destination file]' \
   '--compare-dest=[also compare destination files relative to specified directory]:directory:_files -/' \
   '--copy-dest=[like --compare-dest, but also includes copies of unchanged files]:directory:_files -/' \
   '--link-dest=[hardlink to files in specified directory hierarchy when unchanged]:directory:_files -/' \
-  '-P[equivalent to --partial --progress]' \
-  '(-z --compress)'{-z,--compress}'[compress file data]' \
+  '(-z --compress)'{-z,--compress}'[compress file data during the transfer]' \
   '(-C --cvs-exclude)'{-C,--cvs-exclude}'[auto-ignore files the same way CVS does]' \
-  '--filter=[add a file-filtering rule]:rule:' \
-  '-F[same as --filter=": /.rsync-filter", repeated: --filter="- .rsync-filter"]' \
+  '(-f --filter)'{-f,--filter=}'[add a file-filtering rule]:rule:' \
+  '*-F[same as --filter="dir-merge /.rsync-filter", repeated: --filter="- .rsync-filter"]' \
   '--exclude=[exclude files matching pattern]:pattern:' \
   '--exclude-from=[read exclude patterns from specified file]:file:_files' \
   '--include=[do not exclude files matching pattern]:pattern:' \
   '--include-from=[read include patterns from specified file]:file:_files' \
-  '--files-from=[read list of source-file names from file]:file:_files' \
+  '--files-from=[read list of source-file names from specified file]:file:_files' \
   '(-0 --from0)'{-0,--from0}'[all *-from file lists are delimited by nulls]' \
   '--version[print version number]' \
-  '--port=[specify double-colon alternate port number]:port:' \
   '--blocking-io[use blocking I/O for the remote shell]' \
   '--no-blocking-io[turn off blocking I/O when it is the default]' \
   '--stats[give some file-transfer stats]' \
-  '--progress[show progress during transfer]' \
+  '(-P)--progress[show progress during transfer]' \
+  '(--partial --progress)-P[same as --partial --progress]' \
   '--log-format=[log file-transfers using specified format]:format:' \
   '--password-file=[read password from file]:file:_files' \
   '--list-only[list the files instead of copying them]' \
-  '--bwlimit=[limit I/O bandwidth]:kbytes per second:' \
   '--write-batch=[write a batched update to the specified file]:file:' \
-  '--read-batch=[read a batched update from the specified file]:file:' \
-  '(-4 --ipv4)'{-4,--ipv4}'[prefer IPv4]' \
-  '(-6 --ipv6)'{-6,--ipv6}'[prefer IPv6]' \
-  '(-)'{-h,--help}'[display help information]' \
-  '--address=[bind to the specified address]:address:_hosts' \
-  '--config=[specify alternate rsyncd.conf file]:file:_files' \
-  '--no-detach[do not detach from the parent]' \
-  '--daemon[run as an rsync daemon]'
+  '--read-batch=[read a batched update from the specified file]:file:'