Code

Do not use perl in git-commit.sh
authorAlex Riesen <raa.lkml@gmail.com>
Thu, 13 Jul 2006 08:30:43 +0000 (10:30 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 14 Jul 2006 05:00:16 +0000 (22:00 -0700)
git-commit.sh has the only one place where perl is used
and there it can quite trivially be done in sh.

git-ls-files without "-z" produces quoted output, even if
is different from that produced by perl code it is good
enough.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-commit.sh

index 802dd7243e233b7be773154311c3d8791fc7d610..4cf3fab05cd3c3367173c86a65665ddfc1d89805 100755 (executable)
@@ -138,32 +138,26 @@ run_status () {
         if test -z "$untracked_files"; then
             option="--directory --no-empty-directory"
         fi
+       hdr_shown=
        if test -f "$GIT_DIR/info/exclude"
        then
-           git-ls-files -z --others $option \
+           git-ls-files --others $option \
                --exclude-from="$GIT_DIR/info/exclude" \
                --exclude-per-directory=.gitignore
        else
-           git-ls-files -z --others $option \
+           git-ls-files --others $option \
                --exclude-per-directory=.gitignore
        fi |
-       @@PERL@@ -e '$/ = "\0";
-           my $shown = 0;
-           while (<>) {
-               chomp;
-               s|\\|\\\\|g;
-               s|\t|\\t|g;
-               s|\n|\\n|g;
-               s/^/#   /;
-               if (!$shown) {
-                   print "#\n# Untracked files:\n";
-                   print "#   (use \"git add\" to add to commit)\n";
-                   print "#\n";
-                   $shown = 1;
-               }
-               print "$_\n";
-           }
-       '
+       while read line; do
+           if [ -z "$hdr_shown" ]; then
+               echo '#'
+               echo '# Untracked files:'
+               echo '#   (use "git add" to add to commit)'
+               echo '#'
+               hdr_shown=1
+           fi
+           echo "#     $line"
+       done
 
        if test -n "$verbose" -a -z "$IS_INITIAL"
        then