mirror of https://github.com/restic/restic.git
2ee07ded2b
This is quite similar to gitignore. If a pattern is suffixed by an exclamation mark and match a file that was previously matched by a regular pattern, the match is cancelled. Notably, this can be used with `--exclude-file` to cancel the exclusion of some files. Like for gitignore, once a directory is excluded, it is not possible to include files inside the directory. For example, a user wanting to only keep `*.c` in some directory should not use: ~/work !~/work/*.c But: ~/work/* !~/work/*.c I didn't write documentation or changelog entry. I would like to get feedback if this is the right approach for excluding/including files at will for backups. I use something like this as an exclude file to backup my home: $HOME/**/* !$HOME/Documents !$HOME/code !$HOME/.emacs.d !$HOME/games # [...] node_modules *~ *.o *.lo *.pyc # [...] $HOME/code/linux/* !$HOME/code/linux/.git # [...] There are some limitations for this change: - Patterns are not mixed accross methods: patterns from file are handled first and if a file is excluded with this method, it's not possible to reinclude it with `--exclude !something`. - Patterns starting with `!` are now interpreted as a negative pattern. I don't think anyone was relying on that. - The whole list of patterns is walked for each match. We may optimize later by exiting early if we know no pattern is starting with `!`. Fix #233 |
||
---|---|---|
.. | ||
_static | ||
images/aws_s3 | ||
logo | ||
man | ||
.gitignore | ||
010_introduction.rst | ||
020_installation.rst | ||
030_preparing_a_new_repo.rst | ||
040_backup.rst | ||
045_working_with_repos.rst | ||
050_restore.rst | ||
060_forget.rst | ||
070_encryption.rst | ||
075_scripting.rst | ||
080_examples.rst | ||
090_participating.rst | ||
100_references.rst | ||
110_talks.rst | ||
Makefile | ||
REST_backend.rst | ||
bash-completion.sh | ||
cache.rst | ||
conf.py | ||
design.rst | ||
developer_information.rst | ||
faq.rst | ||
fish-completion.fish | ||
index.rst | ||
manual_rest.rst | ||
requirements.txt | ||
test_irreducibility.gap | ||
zsh-completion.zsh |