-*- indented-text -*-
-URGENT ---------------------------------------------------------------
+BUGS ---------------------------------------------------------------
+
+There seems to be a bug with hardlinks
+
+ mbp/2 build$ ls -l /tmp/a /tmp/b -i
+ /tmp/a:
+ total 32
+ 2568307 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a1
+ 2568307 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a2
+ 2568307 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a3
+ 2568310 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a4
+ 2568310 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a5
+ 2568310 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b1
+ 2568310 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b2
+ 2568310 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b3
+
+ /tmp/b:
+ total 32
+ 2568309 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a1
+ 2568309 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a2
+ 2568309 -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a3
+ 2568311 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a4
+ 2568311 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a5
+ 2568311 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b1
+ 2568311 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b2
+ 2568311 -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b3
+ mbp/2 build$ rm -r /tmp/b && ./rsync -avH /tmp/a/ /tmp/b
+ building file list ... done
+ created directory /tmp/b
+ ./
+ a1
+ a4
+ a2 => a1
+ a3 => a2
+ wrote 350 bytes read 52 bytes 804.00 bytes/sec
+ total size is 232 speedup is 0.58
+ mbp/2 build$ rm -r /tmp/b
+ mbp/2 build$ ls -l /tmp/b
+ ls: /tmp/b: No such file or directory
+ mbp/2 build$ rm -r /tmp/b && ./rsync -avH /tmp/a/ /tmp/b
+ rm: cannot remove `/tmp/b': No such file or directory
+ mbp/2 build$ rm -f -r /tmp/b && ./rsync -avH /tmp/a/ /tmp/b
+ building file list ... done
+ created directory /tmp/b
+ ./
+ a1
+ a4
+ a2 => a1
+ a3 => a2
+ wrote 350 bytes read 52 bytes 804.00 bytes/sec
+ total size is 232 speedup is 0.58
+ mbp/2 build$ ls -l /tmp/b
+ total 32
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a1
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a2
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a3
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a4
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a5
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b1
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b2
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b3
+ mbp/2 build$ ls -l /tmp/a
+ total 32
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a1
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a2
+ -rw-rw-r-- 3 mbp mbp 29 Mar 25 17:30 a3
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a4
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 a5
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b1
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b2
+ -rw-rw-r-- 5 mbp mbp 29 Mar 25 17:30 b3
+
+
+Progress indicator can produce corrupt output when transferring directories:
+
+ main/binary-arm/
+ main/binary-arm/admin/
+ main/binary-arm/base/
+ main/binary-arm/comm/8.56kB/s 0:00:52
+ main/binary-arm/devel/
+ main/binary-arm/doc/
+ main/binary-arm/editors/
+ main/binary-arm/electronics/s 0:00:53
+ main/binary-arm/games/
+ main/binary-arm/graphics/
+ main/binary-arm/hamradio/
+ main/binary-arm/interpreters/
+ main/binary-arm/libs/6.61kB/s 0:00:54
+ main/binary-arm/mail/
+ main/binary-arm/math/
+ main/binary-arm/misc/
+
+lchmod
+
+ I don't think we handle this properly on systems that don't have the
+ call.
+
+
+DAEMON --------------------------------------------------------------
+
+server-imposed bandwidth limits
+
+rsyncd over ssh
+
+ There are already some patches to do this.
+
+ BitKeeper uses a server whose login shell is set to bkd. That's
+ probably a reasonable approach.
+
+
+FEATURES ------------------------------------------------------------
-IMPORTANT ------------------------------------------------------------
+--dry-run is insufficiently dry
+
+ Mark Santcroos points out that -n fails to list files which have
+ only metadata changes, though it probably should.
+
+ There may be a Debian bug about this as well.
use chroot
http://lists.samba.org/pipermail/rsync/2001-August/thread.html
http://lists.samba.org/pipermail/rsync/2001-September/thread.html
+
--files-from
Avoids traversal. Better option than a pile of --include statements
for people who want to generate the file list using a find(1)
command or a script.
+
File list structure in memory
Rather than one big array, perhaps have a tree in memory mirroring
Keep stderr and stdout properly separated (Debian #23626)
+ Use a separate function for reporting errors; prefix it with
+ "rsync:" or "rsync(remote)", or perhaps even "rsync(local
+ generator): ".
-rsyncd over ssh
-
- There are already some patches to do this.
proxy authentication
Incorrect timestamps (Debian #100295)
A bit hard to believe, but apparently it happens.
+
+
+Check "refuse options works"
+
+ We need a test case for this...
+
+ Was this broken when we changed to popt?
+
+
+String area code
+
+ Test whether this is actually faster than just using malloc(). If
+ it's not (anymore), throw it out.
Test daemon feature to disallow particular options.
+Pipe program that makes slow/jerky connections.
+
+Versions of read() and write() that corrupt the stream, or abruptly fail
+
+Separate makefile target to run rough tests -- or perhaps just run
+them every time?
+
DOCUMENTATION --------------------------------------------------------
At end of transfer, show how many files were or were not transferred
correctly.
+
internationalization
Change to using gettext(). Probably need to ship this for platforms
Solicit translations.
- Does anyone care?
+ Does anyone care? Before we bother modifying the code, we ought to
+ get the manual translated first, because that's possibly more useful
+ and at any rate demonstrates desire.
+
rsyncsh