X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/5af50297bedda78bee05adc612954335259fcb41..8bd1a73e14bc1efb9bab01fbd1d693725183cca3:/TODO diff --git a/TODO b/TODO index 5af5d0c6..704e5793 100644 --- a/TODO +++ b/TODO @@ -2,6 +2,13 @@ BUGS --------------------------------------------------------------- +rsync-url barfs on upload + + rsync foo rsync://localhost/transfer/ + + Fix the parser. + + There seems to be a bug with hardlinks mbp/2 build$ ls -l /tmp/a /tmp/b -i @@ -93,10 +100,28 @@ Progress indicator can produce corrupt output when transferring directories: main/binary-arm/misc/ lchmod - I don't think we handle this properly on systems that don't have the call. +Cross-test versions + Part of the regression suite should be making sure that we don't + break backwards compatibility: old clients vs new servers and so + on. Ideally we would test the cross product of versions. + + It might be sufficient to test downloads from well-known public + rsync servers running different versions of rsync. This will give + some testing and also be the most common case for having different + versions and not being able to upgrade. + +--no-blocking-io might be broken + + in the same way as --no-whole-file; somebody needs to check. + +Do not rely on having a group called "nobody" + + http://www.linuxbase.org/spec/refspecs/LSB_1.1.0/gLSB/usernames.html + + On Debian it's "nogroup" DAEMON -------------------------------------------------------------- @@ -288,6 +313,15 @@ Hard-link handling IPv6 + Put back the old socket code; if on a machine that does not properly + support the getaddrinfo API, then use it. This is probably much + simpler than reimplementing it. This might get us working again on + RedHat 5 and similar systems. Although the Kame patch seems like a + good idea, in fact it is a much broader interface than the + relatively narrow "open by name", "accept and log" interface that + rsync uses internally, and it has the disadvantage of clashing with + half-arsed implementations of the API. + Implement suggestions from http://www.kame.net/newsletter/19980604/ and ftp://ftp.iij.ad.jp/pub/RFC/rfc2553.txt @@ -369,6 +403,21 @@ zlib do this is to just disable gzip (with a warning) when talking to old versions. + +logging + + Perhaps flush stdout after each filename, so that people trying to + monitor progress in a log file can do so more easily. See + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=48108 + + At the connections that just get a list of modules are not logged, + but they should be. + + If a child of the rsync daemon dies with a signal, we should notice + that when we reap it and log a message. + + Keep stderr and stdout properly separated (Debian #23626) + After we get the @RSYNCD greeting from the server, we know it's version but we have not yet sent the command line, so we could just remove the -z option if the server is too old. @@ -380,6 +429,10 @@ zlib that's a good tradeoff or not. +rsyncd over ssh + + There are already some patches to do this. + proxy authentication Allow RSYNC_PROXY to be http://user:pass@proxy.foo:3128/, and do @@ -393,6 +446,16 @@ SOCKS Add --with-socks, and then perhaps a command-line option to put them on or off. This might be more reliable than LD_PRELOAD hacks. +FAT support + + rsync to a FAT partition on a Unix machine doesn't work very well + at the moment. I think we get errors about invalid filenames and + perhaps also trying to do atomic renames. + + I guess the code to do this is currently #ifdef'd on Windows; perhaps + we ought to intelligently fall back to it on Unix too. + + Better statistics: mbp: hey, how about an rsync option that just gives you the @@ -438,6 +501,8 @@ chmod: the program. For bonus points there would be a test case for the parser. + Possibly also --chown + (Debian #23628) @@ -498,7 +563,6 @@ String area code it's not (anymore), throw it out. - PLATFORMS ------------------------------------------------------------ Win32 @@ -514,6 +578,7 @@ Win32 we are correct to call close(), because shutdown() discards untransmitted data. + DEVELOPMENT ---------------------------------------------------------- Splint @@ -539,19 +604,50 @@ Memory debugger http://devel-home.kde.org/~sewardj/ +Release script + + Update spec files + + Build tar file; upload + + Send announcement to mailing list and c.o.l.a. + + Make freshmeat announcement + + Update web site + + + TESTING -------------------------------------------------------------- Cross-test versions Part of the regression suite should be making sure that we don't break backwards compatibility: old clients vs new servers and so - on. Ideally we would test the cross product of versions. + on. Ideally we would test both up and down from the current release + to all old versions. + + We might need to omit broken old versions, or versions in which + particular functionality is broken It might be sufficient to test downloads from well-known public rsync servers running different versions of rsync. This will give some testing and also be the most common case for having different versions and not being able to upgrade. + +Test on kernel source + + Download all versions of kernel; unpack, sync between them. Also + sync between uncompressed tarballs. Compare directories after + transfer. + + Use local mode; ssh; daemon; --whole-file and --no-whole-file. + + Use awk to pull out the 'speedup' number for each transfer. Make + sure it is >= x. + + Test large files Sparse and non-sparse @@ -573,6 +669,12 @@ 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? +Test "refuse options" works + + What about for --recursive? + + If you specify an unrecognized option here, you should get an error. + DOCUMENTATION -------------------------------------------------------- @@ -666,7 +768,6 @@ internationalization get the manual translated first, because that's possibly more useful and at any rate demonstrates desire. - rsyncsh Write a small emulation of interactive ftp as a Pythonn program @@ -674,3 +775,21 @@ rsyncsh fairly directly into rsync commands: it just needs to remember the current host, directory and so on. We can probably even do completion of remote filenames. + + +RELATED PROJECTS ----------------------------------------------------- + +http://rsync.samba.org/rsync-and-debian/ + +rsyncable gzip patch + + Exhaustive, tortuous testing + + Cleanups? + +rsyncsplit as alternative to real integration with gzip? + +reverse rsync over HTTP Range + + Goswin Brederlow suggested this on Debian; I think tridge and I + talked about it previous in relation to rproxy.