Split code out into separate files and remove some global variables to
[rsync/rsync.git] / TODO
diff --git a/TODO b/TODO
index c8fc18a..a24ef7a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -73,7 +73,52 @@ There seems to be a bug with hardlinks
   -rw-rw-r--    5 mbp      mbp            29 Mar 25 17:30 b3
 
 
-IMPORTANT ------------------------------------------------------------
+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 ------------------------------------------------------------
+
+
+--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
@@ -86,12 +131,14 @@ 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
@@ -316,29 +363,6 @@ zlib
   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)
-
-  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
 
   Allow RSYNC_PROXY to be http://user:pass@proxy.foo:3128/, and do
@@ -529,15 +553,24 @@ Add machines
 
   SCO
 
-NICE -----------------------------------------------------------------
 
---no-detach and --no-fork options
+LOGGING --------------------------------------------------------------
 
-  Very useful for debugging.  Also good when running under a
-  daemon-monitoring process that tries to restart the service when the
-  parent exits.
+  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
 
-hang/timeout friendliness
+  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)
+
+  Use a separate function for reporting errors; prefix it with
+  "rsync:" or "rsync(remote)", or perhaps even "rsync(local
+  generator): ".
 
 verbose output
   
@@ -546,6 +579,28 @@ verbose output
   At end of transfer, show how many files were or were not transferred
   correctly.
 
+-vv
+
+  Explain *why* every file is transferred or not (e.g. "local mtime
+  123123 newer than 1283198")
+
+
+debugging of daemon
+
+  Add an rsyncd.conf parameter to turn on debugging on the server.
+
+
+
+NICE -----------------------------------------------------------------
+
+--no-detach and --no-fork options
+
+  Very useful for debugging.  Also good when running under a
+  daemon-monitoring process that tries to restart the service when the
+  parent exits.
+
+hang/timeout friendliness
+
 internationalization
 
   Change to using gettext().  Probably need to ship this for platforms
@@ -553,7 +608,10 @@ internationalization
 
   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