Hi, while looking into an issue on the help-tar list, we came across this behavior:
$ find . . ./foo ./foo/bar ./foo/bar/baz ./foo1 ./foo1/bar ./foo1/bar/baz ./list2 ./list1 $ cat list1 foo $ cat list2 foo $ ~/local/tar-1.28/bin/tar --create --file=archive.tar --no-recursion --files-from=list1 --recursion --files-from=list2 $ ~/local/tar-1.28/bin/tar --list --file=archive.tar foo/ foo/bar/ foo/bar/baz foo/ foo/bar/ foo/bar/baz ==> both are descending, it should happen only for the latter list2 The opposite (the --no-recursion should have no effect at all, as there is no argument following): $ ~/local/tar-1.28/bin/tar --create --file=archive.tar --files-from=list1 --recursion --files-from=list2 --no-recursion $ ~/local/tar-1.28/bin/tar --list --file=archive.tar foo/ foo/ This changes when in addition a real target is specified: $ ~/local/tar-1.28/bin/tar --create --file=archive.tar --files-from=list1 foo1 --files-from=list2 --no-recursion $ ~/local/tar-1.28/bin/tar --list --file=archive.tar foo/ foo1/ foo1/bar/ foo1/bar/baz foo/ foo/bar/ foo/bar/baz Looks like the target foo1 honors the state of the recursion flag, which is then also used for --files-from=list2, while --files-from=list1 still sees the last argument on the line (although it shouldn't). === I would file a bug for it, but I'm not sure how to name this bug due its nasty behavior. Or how describe it in a more compact form. -- Reuti
