【发布时间】:2021-06-18 09:34:44
【问题描述】:
我在 git 中使用了 commit-msg 钩子来检查我的提交是否正确,并希望自动将 BugID 替换为 Bug 地址。但似乎它只能在提交消息的底部再添加一行,而不是替换原来的行。有什么办法可以让它工作吗? 我的提交模板是
Branch:
BugId:
Description:
这是我的代码:
with open(sys.argv[1],r+) as fp:
lines=fp.readlines()
for line in lines:
if line[0]=="#":
continue
line=line.strip()
for l in l.split('/n'):
if not l.split(":")[-1]:
print(l,"is empty")
sys.exit(1)
if l.startswith("Bug"):
fp.write(l.replace(l.split(":")[-1],"http:bugs.xxxxxxxxx")
sys.exit(0)
【问题讨论】:
-
表达式
l.split('/n')中的l是什么? -
恐怕你的 Python 代码在这里很糟糕而且错误。 :-) 首先打开文件并读取它(就像你做的那样),然后在尝试写入文件之前回到开头,并确保你写了你想要出现的每一行在文件中。修复@mkrieger1 指出的错误和其他明显的错误(还没有什么可拆分的,您已经按行拆分了)等。这似乎更好地表述为一个关于如何用您想要的任何语言编写您想要的代码的问题写吧……
-
这让我觉得它可能是一个两行可读的 bash 脚本。
标签: git git-commit githooks re