]> arthur.barton.de Git - bup.git/blobdiff - Documentation/bup-index.md
mux: support wrapping arbitrary commands
[bup.git] / Documentation / bup-index.md
index f804a7995253f4ed13f3ae754083a11e31368b64..280d9eb1d4fe361fc124eb07fceda9573c9f3f4c 100644 (file)
@@ -10,7 +10,8 @@ bup-index - print and/or update the bup filesystem index
 
 bup index \<-p|-m|-s|-u\> [-H] [-l] [-x] [\--fake-valid] [\--no-check-device]
 [\--fake-invalid] [\--check] [\--clear] [-f *indexfile*] [\--exclude *path*]
-[\--exclude-from *filename*] [\--exclude-rx *pattern*] [-v] \<filenames...\>
+[\--exclude-from *filename*] [\--exclude-rx *pattern*]
+[\--exclude-rx-from *filename*] [-v] \<filenames...\>
 
 # DESCRIPTION
 
@@ -41,6 +42,15 @@ need the same information).
 
 # NOTES
 
+At the moment, bup will ignore Linux attributes (cf. chattr(1) and
+lsattr(1)) on some systems (any big-endian systems where sizeof(long)
+< sizeof(int)).  This is because the Linux kernel and FUSE currently
+disagree over the type of the attr system call arguments, and so on
+big-endian systems there's no way to get the results without the risk
+of stack corruption (http://lwn.net/Articles/575846/).  In these
+situations, bup will print a warning the first time Linux attrs are
+relevant during any index/save/restore operation.
+
 bup makes accommodations for the expected "worst-case" filesystem
 timestamp resolution -- currently one second; examples include VFAT,
 ext2, ext3, small ext4, etc.  Since bup cannot know the filesystem
@@ -120,9 +130,10 @@ does, due to the accommodations described above.
     format to the `-l` option to `ls`(1).
 
 -x, \--xdev, \--one-file-system
-:   don't cross filesystem boundaries when recursing
-    through the filesystem.  Only applicable if you're
-    using `-u`.
+:   don't cross filesystem boundaries when recursing through the
+    filesystem -- though as with tar and rsync, the mount points
+    themselves will still be indexed.  Only applicable if you're using
+    `-u`.
     
 \--fake-valid
 :   mark specified filenames as up-to-date even if they
@@ -139,19 +150,18 @@ does, due to the accommodations described above.
     updating.  Mostly useful for automated tests.
 
 \--clear
-:   clear the index.
+:   clear the default index.
 
 -f, \--indexfile=*indexfile*
 :   use a different index filename instead of
     `$BUP_DIR/bupindex`.
 
 \--exclude=*path*
-:   exclude *path* from the backup; *path* is not expanded in any
-    way (can be used more than once).
+:   exclude *path* from the backup (may be repeated).
 
 \--exclude-from=*filename*
-:   read --exclude paths from *filename*, one path per-line (can be
-    used more than once).
+:   read --exclude paths from *filename*, one path per-line (may be
+    repeated).  Ignore completely empty lines.
 
 \--exclude-rx=*pattern*
 :   exclude any path matching *pattern*, which must be a Python regular
@@ -159,7 +169,7 @@ does, due to the accommodations described above.
     will be compared against the full path, without anchoring, so
     "x/y" will match "ox/yard" or "box/yards".  To exclude the
     contents of /tmp, but not the directory itself, use
-    "^/tmp/.". (can be specified more than once)
+    "^/tmp/.". (may be repeated)
 
     Examples:
 
@@ -168,6 +178,10 @@ does, due to the accommodations described above.
       * '/foo/.' - exclude the content of any directory named foo
       * '^/tmp/.' - exclude root-level /tmp's content, but not /tmp itself
 
+\--exclude-rx-from=*filename*
+:   read --exclude-rx patterns from *filename*, one pattern per-line
+    (may be repeated).  Ignore completely empty lines.
+
 \--no-check-device
 :   don't mark a an entry invalid if the device number (stat(2)
     st_dev) changes.  This can be useful when indexing remote,
@@ -179,8 +193,7 @@ does, due to the accommodations described above.
     is updated; with two `-v`, print each file too.
 
 
-# EXAMPLE
-
+# EXAMPLES
     bup index -vux /etc /var /usr