diff options
author | Tim Henigan <tim.henigan@gmail.com> | 2012-03-14 20:38:04 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-03-15 02:20:25 +0400 |
commit | e33e01d07703d0c2c662c30e745dc93b543641c0 (patch) | |
tree | c9c0719cc990774d769346ea28edce48fb79e1c8 /contrib | |
parent | c5770f79068fb1317c1fd19da7e7bfcc075132f3 (diff) |
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 <tim.henigan@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/diffall/git-diffall | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/contrib/diffall/git-diffall b/contrib/diffall/git-diffall index 443f646a77..f981ac1bd3 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 |