我正在尝试使用Python执行一个pre-commit Git钩子,以检查文件的行长度是否小于80个字符。但是我遇到了“没有这样的文件/目录”错误。我在Fedora上并设置了#!usr/bin/python。希望能得到帮助。
#!/usr/bin/env python
#-*- mode: python -*-
from subprocess import Popen, PIPE
import sys
def run(command):
p = Popen(command.split(), stdout=PIPE, stderr=PIPE)
p.wait()
return p.returncode, p.stdout.read().strip().split(), p.stderr.read()
def precommit():
_, files_modified, _= run("git diff-index --name-only HEAD")
i=1
for fname in files_modified:
file = open(fname)
while i==1:
line = file.readline()
if not line:
break
elif len(line)>80:
print("Commit failed: Line greater than 80 characters")
return 1
return 0
sys.exit(precommit())
git
命令以及您收到的精确错误消息。 - Robᵩpre-commit
文件:$ ./git/hooks/pre-commit
。你会得到一个错误信息吗? - Robᵩ