Exception while running duplicity

Ben Escoto bescoto@stanford.edu
Thu, 19 Sep 2002 10:03:03 -0700

Content-Type: text/plain; charset=us-ascii

>>>>> "PE" == Peter Ehrenberg <pe@dipe.de>
>>>>> wrote the following on 19 Sep 2002 10:56:21 +0200

  PE> I have installed duplicity-0.1.1 on a Intel-Linux-box (kernel
  PE> 2.4.18, fs ext3). I'm running

Ahh, the first bug report...  I was hoping that someone other than me
was trying to run it...

  PE>     duplicity --exclude-other-filesystems full dimitri \ /
  PE> scp://root@dimitri.ehrenb//bkup/dimitri/duplicity/root

  PE> There are two problems:

  PE> 1. Against the doc I have to use two slashes in the remote path:

  PE>         scp://root@dimitri.ehrenb//bkup

I'm using the URL format "protocol://user@machine/directory".  So if
you just put in one slash, then you end up with the directory "bkup",
which is relative to the current directory.  Since you you seem to
want the absolute directory "/bkup", you have to put in two slashes,
as you did.

    It's a bit confusing, but I think I'm following the standard.  For
the same reason that's why you have to type "file:///etc/initab" (3
slashes) into your browser to see file "/etc/inittab".

  PE> "/pkg/duplicity-0.1.1/lib/python2.2/site-packages/duplicity/path.py",
  PE> line 94, in getdevloc AttributeError: 'NoneType' object has no
  PE> attribute 'st_dev'

Looks like a problem with --exclude-other-filesystems.  Is it possible
you were deleting files during the backup?  If so, this patch should
fix it:

--- selection.py.old    Thu Sep 19 09:58:07 2002
+++ selection.py        Thu Sep 19 09:59:59 2002
@@ -327,8 +327,9 @@
                assert include == 0 or include == 1
                root_devloc = self.rootpath.getdevloc()
                def sel_func(path):
-                       if path.getdevloc() == root_devloc: return None
-                       else: return include
+                       if path.exists() and path.getdevloc() != root_devloc:
+                               return include
+                       else: return None
                sel_func.exclude = not include
                sel_func.name = "Match other filesystems"
                return sel_func

but if not, then it won't, so if you weren't deleting files then no
need to try it out.  Is it choking on any particular directory?

Ben Escoto

Content-Type: application/pgp-signature

Version: GnuPG v1.0.7 (GNU/Linux)
Comment: Exmh version 2.5 01/15/2001