Fixed the passing of a '/' modifier for an absolute-path filter rule.
authorWayne Davison <wayned@samba.org>
Wed, 30 Dec 2009 20:25:33 +0000 (12:25 -0800)
committerWayne Davison <wayned@samba.org>
Wed, 30 Dec 2009 20:25:33 +0000 (12:25 -0800)
NEWS
exclude.c

diff --git a/NEWS b/NEWS
index b0040bb2dcc48c10f90d7c0b20cec9685d237159..60e852c3b430679885cca9cf5ef220036d7c298e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,9 @@ Changes since 3.0.6:
     - Get the permissions right on a --fake-super transferred directory that
       needs more owner permissions to emulate root behavior.
 
+    - An absolute-path filter rule (i.e. with a '/' modifier) no longer loses
+      its modifier when sending the filter rules to the remote rsync.
+
     - Improved the "--delete does not work without -r or -d" message.
 
     - Improved rsync's handling of --timeout to avoid a weird timeout case
index 3538a74b0335927fb172bc70f23a0f0a9e81e335..70fa8c8a41d54c73a5be304cbffd566e7cd5345a 100644 (file)
--- a/exclude.c
+++ b/exclude.c
@@ -1121,6 +1121,8 @@ char *get_rule_prefix(int match_flags, const char *pat, int for_xfer,
        else
                legal_len = 0;
 
+       if (match_flags & MATCHFLG_ABS_PATH)
+               *op++ = '/';
        if (match_flags & MATCHFLG_NEGATE)
                *op++ = '!';
        if (match_flags & MATCHFLG_CVS_IGNORE)