jborg/attic — pull request #151 by wavexx (2014-12-14 21:25:33+00:00)
Title: Force-include the specified paths in 'create'

Ensure that if a PATH is specified directly in ``attic create`` is going to be
included in the archive irregardless of the --exclude rules.

We achieve this by building an intermediate exclusion list, and checking each
exclusion pattern directly against the specified path. If the pattern matches,
it's removed.

This allows to have general exclusion rules while still including wanted
subtrees in the archive. With the following file list:

root/file1
root/unwanted/subtree1/file2
root/unwanted/subtree2/file3

The command:

attic create archive::name --exclude root/unwanted root root/unwanted/subtree2

Will correctly archive:

root/file1
root/unwanted/subtree2/file3.

This reduces (removes?) the need of an additional --include flag (as suggested in #104), since it
reduces the include/exclude logic to the most specific pattern directly
specified on the command line.