[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Duplicity-talk] Duplicity skipped folders after a deep, large folde

From: Kenneth Loafman
Subject: Re: [Duplicity-talk] Duplicity skipped folders after a deep, large folder, though they are present with --list-current-files
Date: Tue, 8 Jun 2021 14:01:50 -0500

More info here.  Looks like Cygwin can be made to run case sensitive which is what's needed.


On Tue, Jun 8, 2021 at 1:51 PM Kenneth Loafman <kenneth@loafman.com> wrote:
I don't know for sure.  It's possible that Cygwin/Windows is not case-preserving, e.g. Navicat was written, but navicat was read.  It happens in some systems.  I think that if you compare list-current-files with the existing files on disk that you will find both cases of [Nn]avicat.  Restore will of course fail if that is the case.


On Tue, Jun 8, 2021 at 1:39 PM imagenesis@gmail.com <imagenesis@gmail.com> wrote:
I am quite certain that the lower case navicat is not a valid path in the source. Ie, only the upper case Navicat is a valid restore path. Any reason why duplicity would identify navicat as a path to be restored in this case?

On Tue, Jun 8, 2021 at 6:38 PM Kenneth Loafman <kenneth@loafman.com> wrote:

It looks like Cygwin is running against a case-insensitive filesystem.  In this case, Navicat exists, then navicat is tried (it does not exist yet), and fails.  The case of the files matter and it is legal in Posix systems for there to be a Navicat and navicat at the same time.  duplicity itself is case-sensitive.  You'll need to resolve this manually.

You are right about the temp directory, it's a red herring.


On Tue, Jun 8, 2021 at 10:09 AM imagenesis@gmail.com <imagenesis@gmail.com> wrote:
Duplicity 0.8.19, Cygwin x64 3.2.0(0.340/5/3) on Windows 10. Python 3.8

On Tue, Jun 8, 2021 at 3:05 PM Kenneth Loafman <kenneth@loafman.com> wrote:
What version of duplicity?  OS?  Python?

On Tue, Jun 8, 2021 at 1:47 AM imagenesis--- via Duplicity-talk <duplicity-talk@nongnu.org> wrote:
Apparently what is happening is the following exception on the following path:

Writing elv/code/oss/lin_64/lib/bin/navicat/Navicat of type dir
Writing files in elv/code/oss/lin_64/lib/bin/navicat/Navicat
Writing elv/code/oss/lin_64/lib/bin/navicat/navicat of type dir

Duplicity attempts to create the folder elv/code/oss/lin_64/lib/bin/navicat/Navicat and then  elv/code/oss/lin_64/lib/bin/navicat/navicat. 
And throws the assert exception at patchdir 610: assert index == (), index

Traceback (innermost last):
  File "/usr/local/bin/duplicity", line 87, in <module>
  File "/usr/local/bin/duplicity", line 70, in with_tempdir
  File "/usr/local/lib/python3.8/site-packages/duplicity/dup_main.py", line 1543, in main
  File "/usr/local/lib/python3.8/site-packages/duplicity/dup_main.py", line 1627, in do_backup
  File "/usr/local/lib/python3.8/site-packages/duplicity/dup_main.py", line 718, in restore
    if not patchdir.Write_ROPaths(config.local_path,
  File "/usr/local/lib/python3.8/site-packages/duplicity/patchdir.py", line 577, in Write_ROPaths
    ITR(ropath.index, ropath)
  File "/usr/local/lib/python3.8/site-packages/duplicity/lazy.py", line 368, in __call__
    self.process_w_branch(index, branch, args)
  File "/usr/local/lib/python3.8/site-packages/duplicity/lazy.py", line 322, in process_w_branch
  File "/usr/local/lib/python3.8/site-packages/duplicity/robust.py", line 41, in check_common_error
    return function(*args)
  File "/usr/local/lib/python3.8/site-packages/duplicity/patchdir.py", line 610, in start_process
    assert index == (), index
 AssertionError: (b'elv', b'code', b'oss', b'lin_64', b'lib', b'bin', b'navicat', b'navicat')

On Mon, Jun 7, 2021 at 10:30 PM Scott Hannahs via Duplicity-talk <duplicity-talk@nongnu.org> wrote:
Exceeding the maximum path length?  Even though longer paths work the system has a MaxPathLenght variable that limits the length of strings sent to system calls.

> On Jun 7, 2021, at 14:22, imagenesis--- via Duplicity-talk <duplicity-talk@nongnu.org> wrote:
> I have a folder structure in one of my backups, that is like the following
> - bin
> - code
> - manage
> - media
> The code directory is very large and deep (folders with nested paths). For some reason after completing restore of the code folder it exits to cleaning up the temporary directory (which fails, possibly because I am running from cygwin).
> It would appear that the failure of removing the tempdir is not related to the problem of skipping the folder manage, media because it appears that tempdir removal is wrapping the dup_main.main call.
> list-current-files display the contents as expected.

Duplicity-talk mailing list
Duplicity-talk mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]