2 directories with diff casing == Assertion error during restore
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Duplicity |
Invalid
|
Undecided
|
Unassigned |
Bug Description
- duplicity 0.7.14
- python 2.7.10
- macOS el capitan 10.11.16
If there are 2 directories with the same name but differently cased then I get an assertion error when restoring
Traceback (most recent call last):
File "/usr/local/
with_
File "/usr/local/
fn()
File "/usr/local/
do_
File "/usr/local/
restore(
File "/usr/local/
restore_
File "/usr/local/
ITR(
File "/usr/local/
self.
File "/usr/local/
branch.
File "/usr/local/
return function(*args)
File "/usr/local/
assert index == (), index
AssertionError: ('media', 'catalog', 'product', 'b')
Directory in question
https:/
I also had this exact issue with a directory containing the following directories
- en_us
- en_US
which restored fine when I renamed one of them to something else.
Marking this invalid since it will never work on MacOS. Both Windows and Mac are case preserving on creation, case insensitive on search, while Linux is case preserving and case sensitive. Thus the following problem occurs on restore:
ken@dione:~$ mkdir A
ken@dione:~$ mkdir a
mkdir: a: File exists
and is repeatable in both directions. Duplicity assumes Linux semantics on filenames.
You can force MacOS to be case sensitive, but you have to do it during the install, IIRC.