- Gitolite Essentials
- Sitaram Chamarty
- 242字
- 2021-07-16 12:10:04
Gitolite and the Git control flow
Conceptually, Gitolite is a very simple program. To see how it controls access to a Git repository, let us first look at how control flows from the client to the server in a normal git operation (say git fetch
) when using plain ssh
:

When the user executes a git clone, fetch, or push, the Git client invokes ssh
, passing it a command (either git-upload-pack
or git-receive-pack
, depending on whether the user is reading or writing). The local ssh client passes this to the server, and assuming authentication succeeds, that command gets executed on the server.
With Gitolite installed, the ssh
daemon does not invoke the git-upload-pack
or git-receive-pack
directly. Instead, it calls a program called gitolite-shell
, which changes the control flow as follows:

First, notice that nothing changes on the Git client side in any way; the changes are only on the server side. In fact, unless an access violation happens and an error message needs to be sent to the user, the user may not even know that Gitolite is installed!
Second, notice the red link from Gitolite's shell program to the git-upload-pack
program. This call does not happen if Gitolite determines that the user does not have the appropriate access to the repo concerned. This access check happens for both read (that is, git fetch
and git clone
commands) and write (git push
) operations; although for writes, there are more checks that happen later.
- Instant Raspberry Pi Gaming
- Clojure Data Analysis Cookbook
- 樂高機(jī)器人EV3設(shè)計(jì)指南:創(chuàng)造者的搭建邏輯
- 計(jì)算機(jī)應(yīng)用復(fù)習(xí)與練習(xí)
- 程序設(shè)計(jì)語言與編譯
- Hands-On Cloud Solutions with Azure
- Learning Apache Cassandra(Second Edition)
- SharePoint 2010開發(fā)最佳實(shí)踐
- 液壓機(jī)智能故障診斷方法集成技術(shù)
- 基于敏捷開發(fā)的數(shù)據(jù)結(jié)構(gòu)研究
- Creating ELearning Games with Unity
- 簡明學(xué)中文版Flash動(dòng)畫制作
- Hands-On Business Intelligence with Qlik Sense
- 大數(shù)據(jù)時(shí)代的調(diào)查師
- 電氣自動(dòng)化工程師自學(xué)寶典(基礎(chǔ)篇)