bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Backwards compatibility bug


From: Troy Bridoux
Subject: Backwards compatibility bug
Date: Thu, 04 Jul 2002 10:17:53 -0700

As of tar 1.13, the semantics on the -X argument have changed from
excluding full pathnames to excluding only base names.

For example, if I have an exclude file that says

   dir/base

then the following file will _still_ be archived

   dir/base

whereas if I have an exclude file that says

   file

then the following file will _not_ be archived

   dir/base


Now I think this change is great if you want to exclude a bunch of
files called "base" in miscellaneous directories.
But it's not great if you want to prune specific directory branches.

I think we can have both worlds.  The excluded filenames should just
not be blindly matched against only basenames.
The excluded filenames should match on the tail portion of all the file
paths to be archived.  In other words:

(1)

  base

should exclude

  root/dir/base
  dir/base
  base

and thus (by directory containment)

  root/dir/base/*
  dir/base/*
  base/*

but not

  root/dir/_base
  _base

This is what happens with tar 1.13, I believe.

(2)

  dir/base

should exclude

  root/dir/base
  dir/base

and thus (by directory containment)

  root/dir/base/*
  dir/base/*

but not

  base
  _dir/base

and thus (by directory containment)

  base/*
  _dir/base/*

This is what happens with tar 1.12, I believe.


Until this is fixed, I am forced to stay with tar 1.12.

Thank you



reply via email to

[Prev in Thread] Current Thread [Next in Thread]