X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d1cce1dd9209f5fde2b58f798bf8eea8cf82f99f..9533e15a7996c5e01fff60a754c39d4fae5461f6:/rsync.yo diff --git a/rsync.yo b/rsync.yo index 5360d43b..5faa561c 100644 --- a/rsync.yo +++ b/rsync.yo @@ -507,8 +507,13 @@ the source and target are on the local machine. dit(bf(--no-whole-file)) Turn off --whole-file, for use when it is the default. -dit(bf(-p, --perms)) This option causes rsync to update the remote -permissions to be the same as the local permissions. +dit(bf(-p, --perms)) This option causes rsync to set the destination +permissions to be the same as the source permissions. + +Without this option, each new file gets its permissions set based on the +source file's permissions and the umask at the receiving end, while all +other files (including updated files) retain their existing permissions +(which is the same behavior as other file-copy utilities, such as cp). dit(bf(-o, --owner)) This option causes rsync to set the owner of the destination file to be the same as the source file. On most systems, @@ -734,6 +739,8 @@ dit(bf(--link-dest=DIR)) This option behaves like bf(--compare-dest) but also will create hard links from em(DIR) to the destination directory for unchanged files. Files with changed ownership or permissions will not be linked. +Like bf(--compare-dest) if DIR is a relative path, it is relative +to the destination directory. dit(bf(-z, --compress)) With this option, rsync compresses any data from the files that it sends to the destination machine. This @@ -871,8 +878,8 @@ skipped. If it is an include pattern then that filename is not skipped. If no matching include/exclude pattern is found then the filename is not skipped. -The filenames matched against the exclude/incldue patterns are -relative to the base directories so patterns should not +The filenames matched against the exclude/include patterns are +relative to the base directories, so patterns should not include the path elements to those base directories. The only way in which a pattern will match the absolute path of a file or directory is if the base path is the root directory. @@ -893,7 +900,8 @@ itemize( start of the filename, otherwise it is matched against the end of the filename. This is the equivalent of a leading ^ in regular expressions. - Thus "/foo" would match a file called "foo" at the base of the tree. + Thus "/foo" would match a file called "foo" at the base of the + transferred tree. On the other hand, "foo" would match any file called "foo" anywhere in the tree because the algorithm is applied recursively from top down; it behaves as if each path component gets a turn at being the @@ -910,11 +918,11 @@ itemize( it() if the pattern includes a double asterisk "**" then all wildcards in the pattern will match slashes, otherwise they will stop at slashes. - it() if the pattern contains a / (not counting a trailing /) then it - is matched against the full filename, including any leading - directory. If the pattern doesn't contain a / then it is matched - only against the final component of the filename. Again, remember - that the algorithm is applied recursively so "full filename" can + it() if the pattern contains a / (not counting a trailing /) or a "**" + then it is matched against the full filename, including any leading + directory. If the pattern doesn't contain a / or a "**", then it is + matched only against the final component of the filename. Again, + remember that the algorithm is applied recursively so "full filename" can actually be any portion of a path. it() if the pattern starts with "+ " (a plus followed by a space) @@ -929,8 +937,9 @@ itemize( include/exclude list is reset, removing all previously defined patterns. ) -The +/- rules are most useful in exclude lists, allowing you to have a -single exclude list that contains both include and exclude options. +The +/- rules are most useful in a list that was read from a file, allowing +you to have a single exclude list that contains both include and exclude +options. If you end an exclude list with --exclude '*', note that since the algorithm is applied recursively that unless you explicitly include