Shell scripts should explicitly "exit 0" for portability. Thanks Jos.
[rsync/rsync.git] / TODO
diff --git a/TODO b/TODO
index fd88522..c8fc18a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,76 @@
 -*- indented-text -*-
 
 -*- 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
 
 
 IMPORTANT ------------------------------------------------------------
 
 
 IMPORTANT ------------------------------------------------------------
@@ -184,6 +254,7 @@ IPv6
 
   which should just take a small change to the parser code.
 
 
   which should just take a small change to the parser code.
 
+
 Errors
 
   If we hang or get SIGINT, then explain where we were up to.  Perhaps
 Errors
 
   If we hang or get SIGINT, then explain where we were up to.  Perhaps
@@ -200,6 +271,11 @@ Errors
   explaining why the socket is closed.  I'm not sure if this would
   work, but it would certainly make our messages more helpful.
 
   explaining why the socket is closed.  I'm not sure if this would
   work, but it would certainly make our messages more helpful.
 
+  What happens if a directory is missing -x attributes.  Do we lose
+  our load?  (Debian #28416)  Probably fixed now, but a test case
+  would be good.
+
+
 File attributes
 
   Device major/minor numbers should be at least 32 bits each.  See
 File attributes
 
   Device major/minor numbers should be at least 32 bits each.  See
@@ -254,6 +330,10 @@ logging
 
   Keep stderr and stdout properly separated (Debian #23626)
 
 
   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
 
 
 rsyncd over ssh
 
@@ -335,6 +415,25 @@ chmod:
   (Suggestion from david.e.sewell)
 
 
   (Suggestion from david.e.sewell)
 
 
+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.
+         
+
+
 PLATFORMS ------------------------------------------------------------
 
 Win32
 PLATFORMS ------------------------------------------------------------
 
 Win32
@@ -402,6 +501,13 @@ If tests are skipped, say why.
 
 Test daemon feature to disallow particular options.
 
 
 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 --------------------------------------------------------
 
 
 DOCUMENTATION --------------------------------------------------------