From 2ab324c03f3b6ed6247e4c44fd2a584d50fd028c Mon Sep 17 00:00:00 2001 From: Ed Blackman Date: Wed, 30 Mar 2016 12:17:54 -0400 Subject: [PATCH] Add 'x' status for excluded paths (#814) Makes it easy to see paths excluded by --exclude* options for testing of regexes, and for ongoing monitoring that files desired for backup aren't getting excluded accidentally. --- borg/archiver.py | 1 + borg/testsuite/archiver.py | 16 ++++++++++++++++ docs/usage.rst | 1 + 3 files changed, 18 insertions(+) diff --git a/borg/archiver.py b/borg/archiver.py index 70db0f4be..29c39a2a6 100644 --- a/borg/archiver.py +++ b/borg/archiver.py @@ -293,6 +293,7 @@ class Archiver: keep_tag_files, skip_inodes, path, restrict_dev, read_special=False, dry_run=False): if not matcher.match(path): + self.print_file_status('x', path) return try: diff --git a/borg/testsuite/archiver.py b/borg/testsuite/archiver.py index 5de638f20..0b71d96e4 100644 --- a/borg/testsuite/archiver.py +++ b/borg/testsuite/archiver.py @@ -850,6 +850,22 @@ class ArchiverTestCase(ArchiverTestCaseBase): # https://borgbackup.readthedocs.org/en/latest/faq.html#i-am-seeing-a-added-status-for-a-unchanged-file self.assert_in("A input/file2", output) + def test_file_status_excluded(self): + """test that excluded paths are listed""" + + now = time.time() + self.create_regular_file('file1', size=1024 * 80) + os.utime('input/file1', (now - 5, now - 5)) # 5 seconds ago + self.create_regular_file('file2', size=1024 * 80) + self.cmd('init', self.repository_location) + output = self.cmd('create', '-v', '--list', self.repository_location + '::test', 'input') + self.assert_in("A input/file1", output) + self.assert_in("A input/file2", output) + # should find second file as excluded + output = self.cmd('create', '-v', '--list', self.repository_location + '::test1', 'input', '--exclude', '*/file2') + self.assert_in("U input/file1", output) + self.assert_in("x input/file2", output) + def test_create_topical(self): now = time.time() self.create_regular_file('file1', size=1024 * 80) diff --git a/docs/usage.rst b/docs/usage.rst index a29a56f96..0cb892022 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -644,6 +644,7 @@ Other flags used include: - 'i' = backup data was read from standard input (stdin) - '-' = dry run, item was *not* backed up +- 'x' = excluded, item was *not* backed up - '?' = missing status code (if you see this, please file a bug report!)