title: rsync include-from file recursion
body: <p>I want to get only new or changed file list with few filters on result.
  My all new or changed files are:</p>
  
  <pre><code>&gt;f+++++++++ dsadcache.txt
  &gt;f+++++++++ root.svn
  &gt;f+++++++++ txt-file-in-root.txt
  &gt;fcsT...... wp-config.php
  cd+++++++++ cache/
  &gt;f+++++++++ cache/fileincac.txt
  &gt;f+++++++++ cache/fileincache.txt
  &gt;f+++++++++ wp-content/inside.svn
  &gt;f+++++++++ wp-content/inside.txt
  &gt;f+++++++++ wp-content/object-cache.php
  </code></pre>
  
  <p>Final result should looks like:</p>
  
  <pre><code>&gt;f+++++++++ txt-file-in-root.txt
  &gt;fcsT...... wp-config.php   
  &gt;f+++++++++ wp-content/inside.txt
  </code></pre>
  
  <p>When i try to include-from file with this rules:</p>
  
  <pre><code>- *cache*
  + *.html
  + *.txt
  + *.js
  + *.php
  + *.jpg
  + *.jpeg
  + *.png
  + *.bmp
  + *.gif
  + *.tif
  + *.tiff
  + *.ico
  + *.json
  + *.xml
  - *
  </code></pre>
  
  <p>filters work but the result is not recursive</p>
  
  <pre><code>&gt;f+++++++++ txt-file-in-root.txt
  &gt;fcsT...... wp-config.php
  </code></pre>
  
  <p>missing:</p>
  
  <pre><code>&gt;f+++++++++ wp-content/inside.txt
  </code></pre>
  
  <p>My command is:</p>
  
  <pre><code> rsync -nrci  --include-from="file" source/ destination
  </code></pre>
  
  <p>EDIT:</p>
  
  <p>Let me explain the winning answer:</p>
  
  <p>Here is the order of paths rsync process:</p>
  
  <pre><code> dsadcache.txt
   txt-file-in-root.txt
   cache/
   cache/fileincac.txt
   cache/fileincache.txt
   wp-content/
   wp-content/inside.txt   
   wp-config.php
  </code></pre>
  
  <p>Without including </p>
  
  <pre><code>filter='+ */'
  </code></pre>
  
  <p>directories</p>
  
  <pre><code>cache/
  wp-content/
  </code></pre>
  
  <p>are excluded.</p>