From 6de821b70d75345d6669d893fb6ec54822c16d51 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Fri, 20 Jan 2012 19:55:55 -0500 Subject: [PATCH] Improved the rsync plugin for OS X. --- plugins/rsync/init.zsh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/plugins/rsync/init.zsh b/plugins/rsync/init.zsh index a9c1c0c..0ec3693 100644 --- a/plugins/rsync/init.zsh +++ b/plugins/rsync/init.zsh @@ -1,10 +1,20 @@ # Aliases -alias rsync-copy='rsync --verbose --progress --human-readable --compress --archive --hard-links' +rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system' + +# Mac OS X and HFS+ Enhancements +# http://www.bombich.com/rsync.html +if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then + rsync_cmd="${rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change" +fi + +alias rsync-copy="${rsync_cmd}" compdef _rsync rsync-copy=rsync -alias rsync-move='rsync --verbose --progress --human-readable --compress --archive --hard-links --remove-source-files' +alias rsync-move="${rsync_cmd} --remove-source-files" compdef _rsync rsync-move=rsync -alias rsync-update='rsync --verbose --progress --human-readable --compress --archive --hard-links --update' +alias rsync-update="${rsync_cmd} --update" compdef _rsync rsync-upate=rsync -alias rsync-synchronize='rsync --verbose --progress --human-readable --compress --archive --hard-links --update --delete' +alias rsync-synchronize="${rsync_cmd} --update --delete" compdef _rsync rsync-synchronize=rsync +unset rsync_cmd +