pxar: create: add entry: fix anchored path pattern matching
Similar to 874bd545
("pxar: fix anchored exclusion at archive root"),
but this time for inclusion. Because of the inconsistency, it could
happen that a file included in generate_directory_file_list() got
excluded in add_entry(), e.g. with a .pxarexclude file like
> *
> !/supposed-to-be-included
Reported-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
parent
48fcee6a50
commit
2b323a359d
|
@ -549,9 +549,10 @@ impl Archiver {
|
||||||
|
|
||||||
let metadata = get_metadata(fd.as_raw_fd(), stat, self.flags(), self.fs_magic, &mut self.fs_feature_flags)?;
|
let metadata = get_metadata(fd.as_raw_fd(), stat, self.flags(), self.fs_magic, &mut self.fs_feature_flags)?;
|
||||||
|
|
||||||
|
let match_path = PathBuf::from("/").join(self.path.clone());
|
||||||
if self
|
if self
|
||||||
.patterns
|
.patterns
|
||||||
.matches(self.path.as_os_str().as_bytes(), Some(stat.st_mode as u32))
|
.matches(match_path.as_os_str().as_bytes(), Some(stat.st_mode as u32))
|
||||||
== Some(MatchType::Exclude)
|
== Some(MatchType::Exclude)
|
||||||
{
|
{
|
||||||
return Ok(());
|
return Ok(());
|
||||||
|
|
Loading…
Reference in New Issue