Package: rsync
Version: 2.6.4-4.1
Followup-For: Bug #306981

Dear Debian Developer,

I have looked at the bug you opened in rsync's bugzilla,
https://bugzilla.samba.org/show_bug.cgi?id=2675 
and I have made a little investigation myself, which might help you in
this issue.

According to the CVS history of the NEWS file 

http://cvs.samba.org/cgi-bin/cvsweb/rsync/NEWS.diff?r1=1.275&r2=1.276

this bug was solved upstream on 2005/04/07 .

I have looked at the cvs history

http://cvs.samba.org/cgi-bin/cvsweb/rsync/generator.c

and I found:

RCS file: /cvsroot/rsync/generator.c,v
RCS file: /cvsroot/rsync/generator.c,v
Working file: generator.c
head: 1.209
branch:
locks: strict
access list:
symbolic names:
        release-2-6-4: 1.194
[...]
revision 1.199
date: 2005-04-07 08:13:44 +0000;  author: wayned;  state: Exp;  lines: +2 -0
Fix a bug with --delete-after combined with --backup.
[...]

the change in this version, is just:

$ cvs diff -u -r 1.198 -r 1.199 generator.c
Index: generator.c
===================================================================
RCS file: /cvsroot/rsync/generator.c,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -r1.198 -r1.199
--- generator.c 5 Apr 2005 20:08:51 -0000       1.198
+++ generator.c 7 Apr 2005 08:13:44 -0000       1.199
@@ -1132,6 +1132,7 @@
        int save_only_existing = only_existing;
        int save_opt_ignore_existing = opt_ignore_existing;
        int save_do_progress = do_progress;
+       int save_make_backups = make_backups;

        allowed_lull = read_batch ? 0 : (io_timeout + 1) / 2;
        lull_mod = allowed_lull * 5;
@@ -1240,6 +1241,7 @@
        phase++;
        only_existing = save_only_existing;
        opt_ignore_existing = save_opt_ignore_existing;
+       make_backups = save_make_backups;

        if (verbose > 2)
                rprintf(FINFO,"generate_files phase=%d\n",phase);


I have applied this patch to the Debian sources 2.6.4-2 , and have
rebuild and installed the generated package.

The diff can also be found at 
http://cvs.samba.org/cgi-bin/cvsweb/rsync/generator.c.diff?r1=1.198&r2=1.199

==================================================
I have checked that it works, with the following setup:

$ find
.
./client
./client/b
./server
./server/a

* rsync 2.6.3-2 (OLD: correct)

$ apt-cache policy rsync 
rsync:
  Installed: 2.6.3-2
  Candidate: 2.6.4-2
  Version Table:
     2.6.4-4 0
        110 ftp://ftp.de.debian.org unstable/main Packages
     2.6.4-2 0
        500 ftp://ftp.de.debian.org sarge/main Packages
 *** 2.6.3-2 0
        100 /var/lib/dpkg/status

$ rsync -a -b --delete --delete-after localhost:$PWD/server/ client/
$ find
.
./client
./client/a
./client/b~
./server
./server/a

(it works: "a" is transferred from "server" to "client", and "b" is
deleted from client with a backup)

--------------------------------------------------

* rsync 2.6.3-2 (SARGE: wrong)
$ apt-cache policy rsync
rsync:
  Installed: 2.6.4-2
  Candidate: 2.6.4-2
  Version Table:
     2.6.4-4 0
        110 ftp://ftp.de.debian.org unstable/main Packages
 *** 2.6.4-2 0
        500 ftp://ftp.de.debian.org sarge/main Packages
        100 /var/lib/dpkg/status

$ find
.
./client
./client/a
./client/b
./server
./server/a
$ rsync -a  -b --delete --delete-after localhost:$PWD/server/ client/
$ find
.
./client
./client/a
./server
./server/a

(WRONG: b disappears from client)

--------------------------------------------------

* rsync 2.6.3-4 (SID: wrong)
$ apt-cache policy rsync
rsync:
  Installed: 2.6.4-4
  Candidate: 2.6.4-4
  Version Table:
 *** 2.6.4-4 0
        110 ftp://ftp.de.debian.org unstable/main Packages
        100 /var/lib/dpkg/status
     2.6.4-2 0
        500 ftp://ftp.de.debian.org sarge/main Packages
$ find
.
./client
./client/a
./client/b
./server
./server/a
jgi $  rsync -a  -b --delete --delete-after localhost:$PWD/server/ client/
jgi $ find
.
./client
./client/a
./server
./server/a


(WRONG: b dissapears from client)

--------------------------------------------------

* 2.6.4-2.1 (As SARGE 2.6.4-2, but with the patch applied)
$ apt-cache policy rsync
rsync:
  Installed: 2.6.4-2.1
  Candidate: 2.6.4-4
  Version Table:
     2.6.4-4 0
        110 ftp://ftp.de.debian.org unstable/main Packages
 *** 2.6.4-2.1 0
        100 /var/lib/dpkg/status
     2.6.4-2 0
        500 ftp://ftp.de.debian.org sarge/main Packages
$ find
.
./client
./client/a
./client/b
./server
./server/a
$ rsync -a  -b --delete --delete-after localhost:$PWD/server/ client/
$ find
.
./client
./client/a
./client/b~
./server
./server/a

(WORKS: a backup copy "b~" exists)

--------------------------------------------------

* 2.6.4-4.1 (As SID 2.6.4-4, but with the patch applied)
$ apt-cache policy rsync
rsync:
  Installed: 2.6.4-4.1
  Candidate: 2.6.4-4.1
  Version Table:
 *** 2.6.4-4.1 0
        100 /var/lib/dpkg/status
     2.6.4-4 0
        110 ftp://ftp.de.debian.org unstable/main Packages
     2.6.4-2 0
        500 ftp://ftp.de.debian.org sarge/main Packages
$ find
.
./client
./client/a
./client/b
./server
./server/a
$ rsync -a  -b --delete --delete-after localhost:$PWD/server/ client/
$ find
.
./client
./client/a
./client/b~
./server
./server/a

(WORKS: a backup copy "b~" exists)

==================================================

I also checked that the above tests give the same results when adding
--suffix="~2005-05-03" .

Hope this helps. Best regards, and thank you for your work,

Jaume





-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing'), (110, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.11-1-686-smp
Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15)

Versions of packages rsync depends on:
ii  libc6                       2.3.2.ds1-21 GNU C Library: Shared libraries an
ii  libpopt0                    1.7-5        lib for parsing cmdline parameters

-- no debconf information


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to