2016-07-07 58 views
0

這裏是我的測試CGI腳本:的git-HTTP-後端 - 覆蓋提交作者姓名

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]] 

=>看來:

#!/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 

「混帳推」 在/tmp/git_cgi_test.log輸出web服務器環境變量設置並在CGI腳本中可見。

「混帳日誌」 上裸露的git倉庫:

commit 688a98573c5a7559d0fdfb7ff823add3ba0e3a17 
Author: remote_os_user <[email protected]_os_hostname> 
Date: Thu Jul 7 11:07:22 2016 +0200 

    the commit comment 
... 

=>既不是 「富」,也不是 「酒吧」,也不是 「auth_basic_user」,而是 「remote_os_user」 :(

==>什麼環境在必須爲git-http-backend設置變量以覆蓋作者名稱在最終的裸git回購?

(我不控制遠程貢獻者筆記本電腦上的user.name或user.email。我需要覆蓋服務器上方)

回答

0

我也想這樣,但在中央git存儲庫上推送時,無法更改提交(不會損壞它們)。請參閱this討論。

+0

謝謝! 相反,我做了一個[更新掛鉤拒絕推送](https://git-scm.com/book/be/v2/Customizing-Git-An-Example-Git-Enforced-Policy),如果至少有一個提交作者與$ REMOTE_USER不匹配。 – user6559818