From: Tim Henigan Date: Wed, 14 Mar 2012 16:38:04 +0000 (-0400) Subject: contrib/diffall: eliminate use of tar X-Git-Tag: v1.7.10-rc2~11^2~2 X-Git-Url: https://git.tokkee.org/?p=git.git;a=commitdiff_plain;h=e33e01d07703d0c2c662c30e745dc93b543641c0 contrib/diffall: eliminate use of tar The 'tar' utility is not available on all platforms (some only support 'gnutar'). An earlier commit created a work-around for this problem, but a better solution is to eliminate the use of 'tar' completely. Signed-off-by: Tim Henigan Signed-off-by: Junio C Hamano --- diff --git a/contrib/diffall/git-diffall b/contrib/diffall/git-diffall index 443f646a7..f981ac1bd 100755 --- a/contrib/diffall/git-diffall +++ b/contrib/diffall/git-diffall @@ -202,10 +202,14 @@ then fi done < "$tmp/filelist" else - # Mac users have gnutar rather than tar - (tar --ignore-failed-read -c -T "$tmp/filelist" | (cd "$tmp/$right_dir" && tar -x)) || { - gnutar --ignore-failed-read -c -T "$tmp/filelist" | (cd "$tmp/$right_dir" && gnutar -x) - } + while read name + do + if test -e "$name" + then + mkdir -p "$tmp/$right_dir/$(dirname "$name")" + cp "$name" "$tmp/$right_dir/$name" + fi + done < "$tmp/filelist" fi # Populate the tmp/left_dir directory with the files to be compared