Comment 11 for bug 720525

Revision history for this message
Joe Snikeris (joe-snikeris) wrote : Re: Unable to restore backup; several errors then hang

When I specify the whole directory that contains the troublesome file, there is no problem either. I've added a few debug messages, and apparently there are three patches for this file:

[(('filelist',) reg), (('filelist',) reg), (('filelist',) reg)]
difftype: snapshot
difftype: diff
difftype: diff
Writing filelist of type reg

However, when I try to restore the whole backup, the snapshot is missing:
[(('.duplicity', 'filelist') reg), (('.duplicity', 'filelist') reg)]
difftype: diff
difftype: diff
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-DbOWkN-18
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-ZK_2dG-19
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mkstemp-IBYs3s-1
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-LdhqlW-17
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-XQ30v6-20
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-WLFdsw-15
Removing still remembered temporary file /tmp/duplicity-JP3frh-tempdir/mktemp-GRzVEs-16
Traceback (most recent call last):
  File "/home/joe/src/duplicity/duplicity-bin", line 1248, in <module>
    with_tempdir(main)
  File "/home/joe/src/duplicity/duplicity-bin", line 1241, in with_tempdir
    fn()
  File "/home/joe/src/duplicity/duplicity-bin", line 1195, in main
    restore(col_stats)
  File "/home/joe/src/duplicity/duplicity-bin", line 539, in restore
    restore_get_patched_rop_iter(col_stats)):
  File "/home/joe/src/duplicity/duplicity/patchdir.py", line 524, in Write_ROPaths
    for ropath in rop_iter:
  File "/home/joe/src/duplicity/duplicity/patchdir.py", line 497, in integrate_patch_iters
    final_ropath = patch_seq2ropath( normalize_ps( patch_seq ) )
  File "/home/joe/src/duplicity/duplicity/patchdir.py", line 464, in patch_seq2ropath
    assert first.difftype != "diff", patch_seq
AssertionError: [(('.duplicity', 'filelist') reg), (('.duplicity', 'filelist') reg)]

I'll have to look into how these patch sequences are being generated to figure out why the snapshot is missing in the second case.