37042


次のようなPythonスクリプトを`commit-
msg`に設定して対話処理を行おうと思っているのですが、入力するまもなく`EOFError`になってしまいます。

[code]

    #! /usr/bin/python3
    
    x = input("input your name: ")
    print("Hello, " + x)
    
[/code]

[code]

    % git commit -am"Add test-commit-msg"                                                       master
    input your name: Traceback (most recent call last):
      File ".git/hooks/commit-msg", line 3, in <module>
        x = input("input your name: ")
    EOFError: EOF when reading a line
    
[/code]

どのようにすればgitフックで対話処理を実現できるでしょうか？


CC BY-SA 3.0
2017-08-08T12:06:55.400
37019
2017-08-09T03:22:13.627
13199
question
python git
gitフックで対話的処理を行うにはどうすればよいですか？


metropolisさんのコメントを参考に、Ubuntu 16.04では

[code]

    sys.stdin = open("/dev/tty", "r")
    
[/code]

とすることで上手くいきました。


CC BY-SA 3.0
2017-08-09T03:22:13.627
37042
2017-08-09T03:22:13.627
13199
37019
answer