the --include-regexp option fails to match files not in the root level source dir

Bug #1923891 reported by Bill Yikes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Duplicity
Expired
Undecided
Unassigned

Bug Description

These two commands should have the same effect (to backup /usr/share/doc/duplicity/examples/system-backup.gz):

$ duplicity full -vinfo --archive-dir /tmp/duplicity_sandbox --name docs --include-regexp '.*system-backup.gz' --exclude '**' /usr/share/doc/duplicity file:///tmp/experiment

$ duplicity full -vinfo --archive-dir /tmp/duplicity_sandbox --name docs --include '**/system-backup.gz' --exclude '**' /usr/share/doc/duplicity file:///tmp/experiment

The --include version grabs the file as expected. The --include-regexp version backs up nothing. It works only when the source dir is at the same level as system-backup.gz. So making the source dir /usr/share/doc/duplicity/examples works. The docs state:

"Unlike the --include and --exclude options, the regular expression options don't match files containing or contained in matched files."

That's a really bizarre limitation, but yet in this case that's not the case. That is, the file /usr/share/doc/duplicity/examples/system-backup.gz is not contained by anything that matches the expression.

Revision history for this message
Bill Yikes (yik3s) wrote :

This is the relavant -v9 output, which shows that duplicity neglects to traverse into the "examples" subdir:

Selecting /usr/share/doc/duplicity
Comparing . and None
Getting delta of (. dir) and None
A .
Selection: examining path /usr/share/doc/duplicity/NEWS.Debian.gz
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
Selection: examining path /usr/share/doc/duplicity/README-LOG
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
Selection: examining path /usr/share/doc/duplicity/changelog.Debian.gz
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
Selection: examining path /usr/share/doc/duplicity/changelog.gz
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
Selection: examining path /usr/share/doc/duplicity/copyright
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
Selection: examining path /usr/share/doc/duplicity/examples
Selection: result: None from function: Regular expression: .*system-backup.gz
Selection: result: 0 from function: Regular expression: .
Selection: - excluding file
3 files exist on backend
11 files exist in cache

Revision history for this message
Kenneth Loafman (kenneth-loafman) wrote :

Please upgrade to the current version of duplicity.  This will assure that any bugs fixed since your release are available and may fix your issue.

There are multiple options both stable and daily:
- Source - https://gitlab.com/duplicity/duplicity
- Stable tarball install - https://launchpad.net/duplicity/+download
- Stable duplicity PPA - https://code.launchpad.net/~duplicity-team/+archive/ubuntu/duplicity-release-git
- Latest duplicity PPA - https://code.launchpad.net/~duplicity-team/+archive/ubuntu/duplicity-develop-git
- Stable snap builds - “sudo snap install duplicity —classic"
- Latest snap builds - “sudo snap install duplicity —classic —edge"
- Stable pip3 builds - “sudo pip[23] install duplicity"
- Latest pip3 builds - “sudo pip[23] install --pre duplicity"

Note 1: UNINSTALL duplicity first if it was installed from a different source..  This is due to divergent install locations, especially between repository installs and the other forms.

Note 2: Launchpad PPAs contain builds for Bionic 18.04, Eoan 19.10, Focal 20.04, and Hirsute 20.10.

Note 3: Xenial 16.04 works with Snap and Pip installs, but cannot be built under Launchpad PPAs at the moment.

Changed in duplicity:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Duplicity because there has been no activity for 60 days.]

Changed in duplicity:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.