• Greg Price's avatar
    Unmark files as executable that can't actually be executed. (GH-15353) · 9ece4a50
    Greg Price authored
    
    
    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
    9ece4a50
test_abc.py 33.5 KB