]> Dogcows Code - chaz/tar/commitdiff
If --one-file-system is given and a
authorSergey Poznyakoff <gray@gnu.org.ua>
Mon, 12 Dec 2005 22:55:39 +0000 (22:55 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Mon, 12 Dec 2005 22:55:39 +0000 (22:55 +0000)
directory is found to be on another device, *and* this directory
is explicitely given in the command line, then do not omit it.

src/incremen.c

index ec8a86dfe4dc3c1f38fd6be2051aa76ffd482c0b..269b4ce31c521a4780e8b139cd2094cbd0d19970 100644 (file)
@@ -202,8 +202,12 @@ procdir (char *name_buffer, struct stat *stat_data,
        ? ALL_CHILDREN
        : CHANGED_CHILDREN;
     }
        ? ALL_CHILDREN
        : CHANGED_CHILDREN;
     }
-  
-  if (one_file_system_option && device != stat_data->st_dev)
+
+  /* If the directory is on another device and --one-file-system was given,
+     omit it... */
+  if (one_file_system_option && device != stat_data->st_dev
+      /* ... except if it was explicitely given in the command line */
+      && !name_scan (name_buffer))
     directory->children = NO_CHILDREN;
   else if (children == ALL_CHILDREN)
     directory->children = ALL_CHILDREN;
     directory->children = NO_CHILDREN;
   else if (children == ALL_CHILDREN)
     directory->children = ALL_CHILDREN;
This page took 0.027799 seconds and 4 git commands to generate.