2016-07-07 8 views
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の設定を変更する必要があります。側)

答えて

0

私もそうしたいと思いますが、中央のgitリポジトリにプッシュすると、コミットを変更することはできません。説明はthisを参照してください。

+0

ありがとうございます! 代わりに、[プッシュを拒否するフックを更新]しました(https://git-scm.com/book/be/v2/Customizing-Git-An-Example-Git-Enforced-Policy)。コミットの著者は$ REMOTE_USERと一致しませんでした。 – user6559818

関連する問題