再談git的http服務-權限控制gitweb版(未成功)


  截至目前,對gitweb的掌握還沒達到最終目標,僅僅實現了通過瀏覽器來瀏覽項目,通過git命令仍然未能clone項目。但仍然要記錄下來,主要是因為打算暫時放棄這條路,而所收獲的一些經驗還是要記錄下來。說不定哪天又撿起來了呢。

  首先描述下目標:可以按照項目、人員來分別控制項目的讀寫權限。方法應該很多,之前通過git-http-backend的hook可以搞定,gitlab也應該可以搞定。根據已有的資料,gitweb也應該可以搞定。思路之一應該是scriptalias,把git命令的申請路由到git-http-backend或gitolite等目錄下,而普通的瀏覽器的申請直接由gitweb實現:

# 對git庫的各種請求,執行git-http-backend.cgi
ScriptAliasMatch \
    "(?x)^/(.*/(HEAD | \
    info/refs | \
    objects/(info/[^/]+ | \
     [0-9a-f]{2}/[0-9a-f]{38} | \
     pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
    git-(upload|receive)-pack))$" \
    /usr/lib/git-core/git-http-backend/$1
# 其余的請求,執行gitweb.cgi
ScriptAlias / /usr/share/gitweb/gitweb.cgi

  另外的思路不打算仔細看了,回去走hooks的路吧。下面附上一些很好的文章:

使用Smart HTTP和Gitweb搭建簡易個人git服務器

git-http-backend(1) Manual Page

git官網關於gitweb的手冊

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM