Code

Remove useless uses of cat, and replace with filename arguments
authorJosh Triplett <josh@freedesktop.org>
Sat, 14 Jul 2007 08:05:43 +0000 (01:05 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 14 Jul 2007 08:07:44 +0000 (01:07 -0700)
Replace uses of cat that do nothing but writing the contents of
a single file to another command via pipe.

[jc: Original patch from Josh was somewhat buggy and rewrote
"cat $file | wc -l" to "wc -l $file", but this one should be Ok.]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-commit.sh
git-filter-branch.sh
git-ls-remote.sh
git-quiltimport.sh

index f3cd8ee97839578bbfc719fd37d5b25b826623a8..3f3de1729e98f48272b2f9f2eaff05d7a1266b11 100755 (executable)
@@ -593,7 +593,7 @@ then
                tree=$(GIT_INDEX_FILE="$TMP_INDEX" git write-tree) &&
                rm -f "$TMP_INDEX"
        fi &&
-       commit=$(cat "$GIT_DIR"/COMMIT_MSG | git commit-tree $tree $PARENTS) &&
+       commit=$(git commit-tree $tree $PARENTS <"$GIT_DIR/COMMIT_MSG") &&
        rlogm=$(sed -e 1q "$GIT_DIR"/COMMIT_MSG) &&
        git update-ref -m "$GIT_REFLOG_ACTION: $rlogm" HEAD $commit "$current" &&
        rm -f -- "$GIT_DIR/MERGE_HEAD" "$GIT_DIR/MERGE_MSG" &&
index d77902d34d63583122eb76fda5d28ee7eeccd77d..54019706dc6e7851233dd05156d0c923ef09a014 100755 (executable)
@@ -171,7 +171,7 @@ case "$filter_subdir" in
        git rev-list --reverse --topo-order --default HEAD \
                --parents --full-history "$@" -- "$filter_subdir"
 esac > ../revs
-commits=$(cat ../revs | wc -l | tr -d " ")
+commits=$(wc -l <../revs | tr -d " ")
 
 test $commits -eq 0 && die "Found nothing to rewrite"
 
@@ -241,7 +241,7 @@ case "$target_head" in
        ;;
 *)
        git update-ref refs/heads/"$dstbranch" $target_head
-       if [ $(cat ../map/$src_head | wc -l) -gt 1 ]; then
+       if [ $(wc -l <../map/$src_head) -gt 1 ]; then
                echo "WARNING: Your commit filter caused the head commit to expand to several rewritten commits. Only the first such commit was recorded as the current $dstbranch head but you will need to resolve the situation now (probably by manually merging the other commits). These are all the commits:" >&2
                sed 's/^/       /' ../map/$src_head >&2
                ret=1
index 3671f3433e82f7c54e09e90b411a63f1f068210d..b7e5d0458470248e65da0893b8b9bb4ced9152da 100755 (executable)
@@ -82,7 +82,7 @@ rsync://* )
        (cd $tmpdir && find refs -type f) |
        while read path
        do
-               cat "$tmpdir/$path" | tr -d '\012'
+               tr -d '\012' <"$tmpdir/$path"
                echo "  $path"
        done &&
        rm -fr $tmpdir
index 2124df9e4a86ec446f19745043051a1b989d66d9..9de54d19fbc96c18ad52b1fe6b1126432d40f17a 100755 (executable)
@@ -70,10 +70,11 @@ tmp_info="$tmp_dir/info"
 commit=$(git rev-parse HEAD)
 
 mkdir $tmp_dir || exit 2
-for patch_name in $(cat "$QUILT_PATCHES/series" | grep -v '^#'); do
+for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do
        echo $patch_name
-       (cat $QUILT_PATCHES/$patch_name | git mailinfo "$tmp_msg" "$tmp_patch" > "$tmp_info") || exit 3
-       test -s .dotest/patch || {
+       git mailinfo "$tmp_msg" "$tmp_patch" \
+               <"$QUILT_PATCHES/$patch_name" >"$tmp_info" || exit 3
+       test -s "$tmp_patch" || {
                echo "Patch is empty.  Was it split wrong?"
                exit 1
        }