如何知道是否从 terminal/command 行之外调用了 git 挂钩
How to know if a git hook is being called from not within the terminal/command line
我有一个 git 挂钩,每当有人提交到他们的本地存储库时,它就是 运行。
有些人从终端提交,有些人从 SourceTree 或 SmartGit 或其他一些第 3 方应用程序提交。
SourceTree 在涉及挂钩时表现不同。例如,默认情况下错误是红色的,并且似乎不支持用户输入所以我需要根据用户是否从 SourceTree 或 SmartGit 等提交来更改我的 python 脚本
有没有办法在我的脚本中做到这一点?
我能够使用此 python 代码解决问题。它只是检查环境变量是否出现任何第三方 git 客户端。我不知道它是否是最好的解决方案或者它是否会一直有效 - 但它现在满足我的需求。
is_terminal = True
for key in os.environ:
if "SourceTree" in os.environ[key] or "SmartGit" in os.environ[key]:
is_terminal = False
break
我有一个 git 挂钩,每当有人提交到他们的本地存储库时,它就是 运行。
有些人从终端提交,有些人从 SourceTree 或 SmartGit 或其他一些第 3 方应用程序提交。
SourceTree 在涉及挂钩时表现不同。例如,默认情况下错误是红色的,并且似乎不支持用户输入所以我需要根据用户是否从 SourceTree 或 SmartGit 等提交来更改我的 python 脚本
有没有办法在我的脚本中做到这一点?
我能够使用此 python 代码解决问题。它只是检查环境变量是否出现任何第三方 git 客户端。我不知道它是否是最好的解决方案或者它是否会一直有效 - 但它现在满足我的需求。
is_terminal = True
for key in os.environ:
if "SourceTree" in os.environ[key] or "SmartGit" in os.environ[key]:
is_terminal = False
break