2010-07-27 97 views
1

我正在使用Gitosis來管理一組存儲庫。我遇到的問題是Gitosis沒有保存哪個用戶推送特定提交的記錄。我所擁有的唯一信息是提交本身的「作者」和「提交者」字段,這些可以通過「推送者」設置爲任何內容。如何跟蹤推送到Gitosis存儲庫的人員?

現在我意識到單個「推送」可以向Gitosis服務器發送很多很多提交,並且每個提交都是由單個開發人員創建的,所以我應該限制自己說我只對頭部提交了被推送的分支。這個提交將會(應該)由創建該發佈的人員創建,所以我想知道是誰,以便在出現問題時可以將其擊敗。

我的想法是在服務器上使用鉤子來比較頭提交的提交者和gitosis用戶名。如果他們都是「[email protected]」,那麼推送者是提交者,推送是允許的,否則將被拒絕。這是可行的嗎?我應該使用哪個鉤子 - 我認爲「更新」是一個,儘管預先接收和後接收也是可能的。

我還考慮過使用post-receive鉤子來標記頭部提交,讓它把推入者的用戶名放在帶註釋的標籤消息中。與此相關的問題是,查看提交的人不一定會意識到該標籤。

我接受其他建議如何做到這一點。基本的想法是我想知道哪個Gitosis用戶推送到特定的分支。

如果我能找出誰推動標籤(或限制推動者爲標籤),那會更好!

凱文

回答

0

AFAIK Gitosis的離開它完全由SSH來確定(通過公共密鑰認證)誰被允許訪問回購,誰不是。從那裏到git-serve實例,所有用戶都只能通過「作者」和「提交者」字段進行標識。

無論如何只是使用'author'和'commiter'字段有什麼問題?如果您擔心人們欺騙他們,請使用兩個存儲庫:「開發」和「發佈」,並在您的gitosis.conf中使用更加精細的訪問控制方案,以允許對特定密鑰的「發佈」進行寫入訪問。

相關問題