From 377b8937a07e9ed34e50e58261b9800ab9565150 Mon Sep 17 00:00:00 2001 From: mataha Date: Sat, 1 Apr 2023 13:43:31 +0200 Subject: [PATCH] Fix double shebang in Windows hook template In its current form, `_install_hook_script` appends Windows-specific shebang on top of the previous one when it should replace it instead (probably). I got triggered by this, so I went ahead and wrote a fix. --- pre_commit/commands/install_uninstall.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pre_commit/commands/install_uninstall.py b/pre_commit/commands/install_uninstall.py index 5ff6cba6..9220d57a 100644 --- a/pre_commit/commands/install_uninstall.py +++ b/pre_commit/commands/install_uninstall.py @@ -99,7 +99,7 @@ def _install_hook_script( # bash in "POSIXLY_CORRECT" mode which still supports the features we # use: subshells / arrays if sys.platform == 'win32': # pragma: win32 cover - hook_file.write('#!/bin/sh\n') + before = before.replace("#!/usr/bin/env bash", "#!/bin/sh", 1) hook_file.write(before + TEMPLATE_START) hook_file.write(f'INSTALL_PYTHON={shlex.quote(sys.executable)}\n')