]> arthur.barton.de Git - bup.git/blobdiff - README.md
Correct DESIGN to refer to 64 byte rolling window.
[bup.git] / README.md
index 0b740ec42c1cacc0ed1f8ad43af7fe6867686171..87cbc2f2090429350012169a6ca5de722bae15c1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -115,6 +115,8 @@ From source
    In addition to the default CentOS repositories, you may need to add
    RPMForge (for fuse-python) and EPEL (for pyxattr and pylibacl).
 
+   On Cygwin, install python, make, rsync, and gcc4.
+
  - Build the python module and symlinks:
 
         make
@@ -153,6 +155,10 @@ Binary packages of bup are known to be built for the following OSes:
 Using bup
 ---------
 
+ - Initialize the default BUP_DIR:
+
+        bup init
+
  - Try making a local backup as a tar file:
  
         tar -cvf - /etc | bup split -n local-etc -vv
@@ -256,6 +262,27 @@ Notes on NetBSD/pkgsrc
    anything useful.
 
 
+Notes on Cygwin
+---------------
+
+ - There is no support for ACLs.  If/when some entrprising person
+   fixes this, adjust t/compare-trees.
+
+ - In t/test.sh, two tests have been disabled.  These tests check to
+   see that repeated saves produce identical trees and that an
+   intervening index doesn't change the SHA1.  Apparently Cygwin has
+   some unusual behaviors with respect to access times (that probably
+   warrant further investigation).  Possibly related:
+   http://cygwin.com/ml/cygwin/2007-06/msg00436.html
+
+
+Notes on OS X
+-------------
+
+ - There is no support for ACLs.  If/when some entrprising person
+   fixes this, adjust t/compare-trees.
+
+
 How it works
 ============
 
@@ -333,6 +360,25 @@ mailing list (see below) if you'd like to help.
     are specified to 'bup save', then no metadata will be written for
     the root directory.  That's obviously less than ideal.
 
+ - bup is overly optimistic about mmap.  Right now bup just assumes
+   that it can mmap as large a block as it likes, and that mmap will
+   never fail.  Yeah, right... If nothing else, this has failed on
+   32-bit architectures (and 31-bit is even worse -- looking at you,
+   s390).
+
+   To fix this, we might just implement a FakeMmap[1] class that uses
+   normal file IO and handles all of the mmap methods[2] that bup
+   actually calls.  Then we'd swap in one of those whenever mmap
+   fails.
+
+   This would also require implementing some of the methods needed to
+   support "[]" array access, probably at a minimum __getitem__,
+   __setitem__, and __setslice__ [3].
+
+     [1] http://comments.gmane.org/gmane.comp.sysutils.backup.bup/613
+     [2] http://docs.python.org/2/library/mmap.html
+     [3] http://docs.python.org/2/reference/datamodel.html#emulating-container-types
+
  - 'bup index' is slower than it should be.
  
     It's still rather fast: it can iterate through all the filenames on my