0
をコミットするには私のテストCGIスクリプトです:のgit-HTTP-バックエンド - オーバーライドここで著者名
#!/bin/bash
echo "$(date) - REQUEST_METHOD[$REQUEST_METHOD] \
GIT_COMMITTER_NAME[$GIT_COMMITTER_NAME] \
GIT_COMMITTER_EMAIL[$GIT_COMMITTER_EMAIL] \
REMOTE_USER[$REMOTE_USER] \
GIT_AUTHOR_NAME[$GIT_AUTHOR_NAME] \
GIT_AUTHOR_EMAIL[$GIT_AUTHOR_EMAIL]" >> /tmp/git_cgi_test.log
/usr/lib/git-core/git-http-backend
"Gitのプッシュ" /tmp/git_cgi_test.logでの出力:
Thu Jul 7 11:07:28 CEST 2016 - REQUEST_METHOD[GET] GIT_COMMITTER_NAME[foo] GIT_COMMITTER_EMAIL[[email protected]] REMOTE_USER[auth_basic_user] GIT_AUTHOR_NAME[bar] GIT_AUTHOR_EMAIL[[email protected]]
Thu Jul 7 11:07:28 CEST 2016 - REQUEST_METHOD[POST] GIT_COMMITTER_NAME[foo] GIT_COMMITTER_EMAIL[[email protected]] REMOTE_USER[auth_basic_user] GIT_AUTHOR_NAME[bar] GIT_AUTHOR_EMAIL[[email protected]]
=>は思わCGIスクリプトで設定および表示されるWebサーバー環境変数。
commit 688a98573c5a7559d0fdfb7ff823add3ba0e3a17
Author: remote_os_user <[email protected]_os_hostname>
Date: Thu Jul 7 11:07:22 2016 +0200
the commit comment
...
=>どちらも "foo" というも "バー" や "auth_basic_user" が、 "remote_os_user" :(
==>何エンバイロメント:裸のgitリポジトリ上の
"gitのログ"
(リモートコントリビュータのラップトップでuser.nameやuser.emailを制御しないでください。サーバ上でオーバーライドする必要がありますが、これはgit-http-backendの設定を変更する必要があります。側)
ありがとうございます! 代わりに、[プッシュを拒否するフックを更新]しました(https://git-scm.com/book/be/v2/Customizing-Git-An-Example-Git-Enforced-Policy)。コミットの著者は$ REMOTE_USERと一致しませんでした。 – user6559818