Sergey Poznyakoff <[EMAIL PROTECTED]> writes: > Yes, you are right: it is not documented. As far as I can tell, you > introduced this behaviour 9 years ago [1].
That revision has my name on it in CVS, but that's merely because I was the guy who checked tar 1.12's source into CVS. I don't know who actually introduced the behavior; it predates my stewardship. A good chunk of the history of tar between 1994 and 1997 went missing before I took over. > 1. Change the default behavior to strict matching and expand --wildcards > as you propose. > 2. Declare a transition period during which tar will display a warning > when it encounters a first file name containing special characters. > Something like 'Pattern matching characters used in file names. Please, > use --wildcards to enable pattern matching, or --no-wildcards to > suppress this warning.' > 3. After expiration of the transition period (I guess 1-2 releases will > be quite enough), remove this warning. That sounds good. A couple of points. First, (2) can be done a bit more accurately by checking whether strict matching disagrees with globbing as to whether a file name is selected. A diagnostic needs to be generated only when there is disagreement. For example, if the pattern is '?' and the file name is '?', no diagnostic is needed, as there's a match under either interpretation. Second, there is still a bug in the current implementation. The pattern '[' should match the file name '[', even if --wildcards is enabled. This is for compatibility with traditional Unix, e.g.: $ find . -name '[' -print ./[ I suppose this is a bug in fnmatch, which we can separate from the main concern. I'll look into it (though not right away, I'm afraid). _______________________________________________ Bug-tar mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-tar
