Unmark files as executable that can't actually be executed. (GH-15353)

There are plenty of legitimate scripts in the tree that begin with a
`#!`, but also a few that seem to be marked executable by mistake.

Found them with this command -- it gets executable files known to Git,
filters to the ones that don't start with a `#!`, and then unmarks
them as executable:

    $ git ls-files --stage \
      | perl -lane 'print $F[3] if (!/^100644/)' \
      | while read f; do
          head -c2 "$f" | grep -qxF '#!' \
          || chmod a-x "$f"; \
        done

Looking at the list by hand confirms that we didn't sweep up any
files that should have the executable bit after all.  In particular

 * The `.psd` files are images from Photoshop.

 * The `.bat` files sure look like things that can be run.
   But we have lots of other `.bat` files, and they don't have
   this bit set, so it must not be needed for them.



Automerge-Triggered-By: @benjaminp
This commit is contained in:
Greg Price 2019-08-20 21:53:59 -07:00 committed by Miss Islington (bot)
parent 5b95a1507e
commit 9ece4a5057
16 changed files with 1 additions and 0 deletions

View file

@ -1,3 +1,4 @@
#!/bin/sh
apt-get update
apt-get -yq install \

0
Doc/c-api/buffer.rst Executable file → Normal file
View file

0
Include/cpython/abstract.h Executable file → Normal file
View file

0
Lib/idlelib/idle.bat Executable file → Normal file
View file

0
Lib/test/test_buffer.py Executable file → Normal file
View file

0
Lib/test/test_dataclasses.py Executable file → Normal file
View file

0
Lib/test/test_importlib/test_abc.py Executable file → Normal file
View file

0
Lib/turtledemo/two_canvases.py Executable file → Normal file
View file

0
Mac/Resources/iconsrc/PythonCompiled.psd Executable file → Normal file
View file

0
Mac/Resources/iconsrc/PythonIcon.psd Executable file → Normal file
View file

0
Mac/Resources/iconsrc/PythonSource.psd Executable file → Normal file
View file

0
Modules/_decimal/tests/runall.bat Executable file → Normal file
View file

0
Modules/_testcapimodule.c Executable file → Normal file
View file

0
Modules/socketmodule.c Executable file → Normal file
View file

0
Modules/socketmodule.h Executable file → Normal file
View file