title: rsync: --include-from vs. --exclude-from what is the actual difference?
body: <p>In the documentation, it mentions these as being files containing lists of either patterns to include or patterns to exclude.  However, that implies for inclusions, everything is considered an exclusion except where things match patterns.  So for example, an include file containing:</p>
  
  <pre><code>/opt/**.cfg
  </code></pre>
  
  <p>Should only include any file named *.cfg that exists anywhere under a directory named <code>opt</code> any where in the tree.  So it would match the following:</p>
  
  <pre><code>/opt/etc/myfile.cfg
  /some/dir/opt/myfile.cfg
  /notopt/opt/some/other/dir/myfile.cfg
  </code></pre>
  
  <p>I'd therefore expect it to implicitly exclude anything else.  But that doesn't seem to be the case, since I am seeing this in the itemized output:</p>
  
  <pre><code>*deleting   etc/rc.d/init.d/somescript
  </code></pre>
  
  <p>So what is the deal with <code>--include-from</code> and <code>--exclude-from</code>?  Are they just aliases for <code>--filter-from</code>?</p>