Code

contrib/diffall: eliminate duplicate while loops
authorTim Henigan <tim.henigan@gmail.com>
Wed, 14 Mar 2012 16:38:05 +0000 (12:38 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 14 Mar 2012 22:22:08 +0000 (15:22 -0700)
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>
contrib/diffall/git-diffall

index f981ac1bd373ac12f0f66f4ec41b30a5e85f689f..91a31c87803e886178ca6cbe27f6152390f6074c 100755 (executable)
@@ -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