Package: rdiff-backup Version: 2.0.5-1~bpo10+1+b1 Severity: minor Dear Maintainer,
in rdiff-backup 1.2.8-7 (buster) the man page synposis states: rdiff-backup [options] [[[user@]host1.foo]::source_directory] [[[user@]host2.foo]::destination_directory] i.e. *if* a destination is specified then the destination directory *must* be preceded by '::' and that worked as documented: lagane$ dpkg -l rdiff-backup | grep rdiff-backup ii rdiff-backup 1.2.8-7 amd64 remote incremental backup lagane$ lagane$ mkdir /tmp/src /tmp/dst lagane$ touch /tmp/src/file{1,2,3} lagane$ rdiff-backup lagane::/tmp/src ::/tmp/dst lagane$ Doubtlessly, many people have written backup scripts that call rdiff-backup in the manner that the man page says they should. In rdiff-backup 2.0.5-1 (bullseye + buster backports) the man page states exactly the same synposis: rdiff-backup [options] [[[user@]host1.foo]::source_directory] [[[user@]host2.foo]::destination_directory] However, now using the '::' prefix causes a crash with a python stack dump: damson$ dpkg -l rdiff-backup | grep rdiff-backup ii rdiff-backup 2.0.5-1~bpo10+1+b1 amd64 remote incremental backup damson$ mkdir /tmp/src /tmp/dst damson$ touch /tmp/src/file{1,2,3} damson$ rdiff-backup damson::/tmp/src ::/tmp/dst Exception 'No file host in 'b'::/tmp/dst''' raised of class '<class 'rdiff_backup.SetConnections.SetConnectionsException'>': File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main Main(arglist) File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 412, in Main cmdpairs = SetConnections.get_cmd_pairs(args, remote_schema, remote_cmd) File "/usr/lib/python3/dist-packages/rdiff_backup/SetConnections.py", line 67, in get_cmd_pairs desc_pairs = list(map(parse_file_desc, arglist)) File "/usr/lib/python3/dist-packages/rdiff_backup/SetConnections.py", line 127, in parse_file_desc raise SetConnectionsException("No file host in '%s'" % file_desc) Traceback (most recent call last): File "/usr/bin/rdiff-backup", line 32, in <module> rdiff_backup.Main.error_check_Main(sys.argv[1:]) File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 395, in error_check_Main Main(arglist) File "/usr/lib/python3/dist-packages/rdiff_backup/Main.py", line 412, in Main cmdpairs = SetConnections.get_cmd_pairs(args, remote_schema, remote_cmd) File "/usr/lib/python3/dist-packages/rdiff_backup/SetConnections.py", line 67, in get_cmd_pairs desc_pairs = list(map(parse_file_desc, arglist)) File "/usr/lib/python3/dist-packages/rdiff_backup/SetConnections.py", line 127, in parse_file_desc raise SetConnectionsException("No file host in '%s'" % file_desc) rdiff_backup.SetConnections.SetConnectionsException: No file host in 'b'::/tmp/dst'' damson$ Without the '::' on the local destination it works fine: damson$ rdiff-backup damson::/tmp/src /tmp/dst damson$ Given that the man page synopsis has remained the same over multiple versions of the tool itself, I assume that the upstream authors think that '::' on a local target directory *should* still work, and as such I think this is more serious than a minor error in the documention. If I can provide any more information or test a new version then just let me know. Regards, Alexis -- System Information: Debian Release: 10.10 APT prefers oldstable APT policy: (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-17-amd64 (SMP w/8 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages rdiff-backup depends on: ii libc6 2.28-10 ii librsync1 0.9.7-10+b1 ii python3 3.7.3-1 ii python3-pkg-resources 40.8.0-1 ii python3-setuptools 40.8.0-1 Versions of packages rdiff-backup recommends: pn python3-pylibacl <none> pn python3-pyxattr <none> rdiff-backup suggests no packages. -- no debconf information