summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Henigan <tim.henigan@gmail.com>2012-03-14 16:38:05 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-03-14 22:22:08 (GMT)
commit97549084f660c43fe4b6dc34bf60afef4948b432 (patch)
tree756bc5217fd60c5cb0fcba2d3fefc62268851d23
parente33e01d07703d0c2c662c30e745dc93b543641c0 (diff)
downloadgit-97549084f660c43fe4b6dc34bf60afef4948b432.zip
git-97549084f660c43fe4b6dc34bf60afef4948b432.tar.gz
git-97549084f660c43fe4b6dc34bf60afef4948b432.tar.bz2
contrib/diffall: eliminate duplicate while loops
There were 3 instances of a 'while read; do' that used identical logic to populate '/tmp/right_dir'. This commit groups them into a single loop. Signed-off-by: Tim Henigan <tim.henigan@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xcontrib/diffall/git-diffall24
1 files changed, 9 insertions, 15 deletions
diff --git a/contrib/diffall/git-diffall b/contrib/diffall/git-diffall
index f981ac1..91a31c8 100755
--- a/contrib/diffall/git-diffall
+++ b/contrib/diffall/git-diffall
@@ -179,38 +179,32 @@ fi
mkdir -p "$tmp/$left_dir" "$tmp/$right_dir"
# Populate the tmp/right_dir directory with the files to be compared
-if test -n "$right"
-then
- while read name
- do
+while read name
+do
+ if test -n "$right"
+ then
ls_list=$(git ls-tree $right "$name")
if test -n "$ls_list"
then
mkdir -p "$tmp/$right_dir/$(dirname "$name")"
git show "$right":"$name" >"$tmp/$right_dir/$name" || true
fi
- done < "$tmp/filelist"
-elif test -n "$compare_staged"
-then
- while read name
- do
+ elif test -n "$compare_staged"
+ then
ls_list=$(git ls-files -- "$name")
if test -n "$ls_list"
then
mkdir -p "$tmp/$right_dir/$(dirname "$name")"
git show :"$name" >"$tmp/$right_dir/$name"
fi
- done < "$tmp/filelist"
-else
- while read name
- do
+ else
if test -e "$name"
then
mkdir -p "$tmp/$right_dir/$(dirname "$name")"
cp "$name" "$tmp/$right_dir/$name"
fi
- done < "$tmp/filelist"
-fi
+ fi
+done < "$tmp/filelist"
# Populate the tmp/left_dir directory with the files to be compared
while read name