From: René Scharfe Date: Tue, 10 Jun 2014 21:47:49 GMT Subject: Re: [PATCH 15/20] t/t5000-tar-tree.sh: avoid "test -a/-o " Message-ID: <53977D05.5070505@web.de> In-Reply-To: <20140610200804.GD72977@gmail.com> Am 10.06.2014 22:08, schrieb David Aguilar: > [Resent using René's correct email address this time, sorry for the noise] > > On Fri, Jun 06, 2014 at 07:55:58AM -0700, Elia Pinto wrote: >> The construct is error-prone; "test" being built-in in most modern >> shells, the reason to avoid "test && test " spawning >> one extra process by using a single "test -a " no >> longer exists. >> >> Signed-off-by: Elia Pinto >> --- >> t/t5000-tar-tree.sh | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh >> index 74fc5a8..ad6fa0d 100755 >> --- a/t/t5000-tar-tree.sh >> +++ b/t/t5000-tar-tree.sh >> @@ -72,7 +72,7 @@ check_tar() { >> for header in *.paxheader >> do >> data=${header%.paxheader}.data && >> - if test -h $data -o -e $data >> + if test -h $data || test -e $data >> then > > This looks okay, but it raises a question for the original author > (René, I think that's you so I've added you to the To: line). > > Should that be "test -f" instead of "test -e"? With -f instead of -e the function would ignore pax path headers for directories and special files. The latter is not relevant for git at all and we don't currently have a test for long directory names, but why restrict the code to handle only regular files? A better change would be adding tests for symlinks and directories with long names. > > This is a very minor note and should not block this patch. > It's probably a change that's better made in a follow-up patch. > >> path=$(get_pax_header $header path) && >> if test -n "$path"