};
if include_children {
+ // Exclude patterns passed via the CLI are stored as '.pxarexclude-cli'
+ // in the root directory of the archive.
+ if is_root && match_pattern.len() > 0 {
+ let filename = CString::new(".pxarexclude-cli")?;
+ name_list.push((filename, dir_stat.clone(), match_pattern.clone()));
+ }
+
for entry in dir.iter() {
let entry = entry
.map_err(|err| format_err!("readir {:?} failed - {}", self.full_path(), err))?;
);
}
}
-
- // Exclude patterns passed via the CLI are stored as '.pxarexclude-cli'
- // in the root directory of the archive.
- if is_root && match_pattern.len() > 0 {
- let filename = CString::new(".pxarexclude-cli")?;
- name_list.push((filename, dir_stat.clone(), match_pattern.clone()));
- if name_list.len() > MAX_DIRECTORY_ENTRIES {
- bail!(
- "too many directory items in {:?} (> {})",
- self.full_path(),
- MAX_DIRECTORY_ENTRIES
- );
- }
- }
} else {
eprintln!("skip mount point: {:?}", self.full_path());
}