]> granicus.if.org Git - python/commit
Unmark files as executable that can't actually be executed. (GH-15353)
authorGreg Price <gnprice@gmail.com>
Wed, 21 Aug 2019 04:53:59 +0000 (21:53 -0700)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 21 Aug 2019 04:53:59 +0000 (21:53 -0700)
commit9ece4a5057d52c42a8a064a6c0c7f923267fb3db
treeb5966d4146b545743bbe993a6894b197cd5f3d78
parent5b95a1507e349da5adae6d2ab57deac3bdd12f15
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
16 files changed:
.azure-pipelines/posix-deps-apt.sh
Doc/c-api/buffer.rst [changed mode: 0755->0644]
Include/cpython/abstract.h [changed mode: 0755->0644]
Lib/idlelib/idle.bat [changed mode: 0755->0644]
Lib/test/test_buffer.py [changed mode: 0755->0644]
Lib/test/test_dataclasses.py [changed mode: 0755->0644]
Lib/test/test_importlib/test_abc.py [changed mode: 0755->0644]
Lib/turtledemo/two_canvases.py [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonCompiled.psd [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonIcon.psd [changed mode: 0755->0644]
Mac/Resources/iconsrc/PythonSource.psd [changed mode: 0755->0644]
Misc/NEWS.d/next/Documentation/2019-04-02-19-23-00.bpo-36487.Jg6-MG.rst [changed mode: 0755->0644]
Modules/_decimal/tests/runall.bat [changed mode: 0755->0644]
Modules/_testcapimodule.c [changed mode: 0755->0644]
Modules/socketmodule.c [changed mode: 0755->0644]
Modules/socketmodule.h [changed mode: 0755->0644]