2011-08-13 27 views
4

完整的錯誤信息是:Gitolite推gitolite管理員時給出的錯誤信息:無法用符號鏈接

could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrepo.git/hooks 

這發生在我做任何改動gitolite管理員並推動這些變化。這些鉤子是什麼?我需要他們嗎?符號鏈接有什麼問題?

我在$REPO_BASE中爲我的存儲庫指定了另一個位置,但我使用chown命令使gitolite用戶成爲此路徑的所有者,並使所有存儲庫都成爲權限問題。

回答

4

好,所以我發現爲什麼會發生這種情況,可能是因爲我是Git的noob,我在$ REPO_BASE中放置了一些普通的存儲庫,實際的源代碼文件直接位於「root」目錄下。

例如,/mnt/data/git/repositories/aproject/Main.cpp等等。原來我需要在該路徑下有實際的存儲庫,所以我確實(我可能只是能夠使用.git文件夾,但這是我做到的):git clone --bare aproject.git aproject.git2 && rm -rf aproject.git && mv aproject.git2 aproject.git

簡而言之,我做了一個裸倉庫的克隆。所以現在,在/mnt/data/git/repositories/aproject/我們實際上可以找到「鉤子」文件夾(錯誤消息抱怨它找不到)。新推gitolite管理員回購後,所有密鑰都被添加到authorized_keys,並且錯誤消息消失。

+0

請注意,我遇到了同樣的問題。刪除repo(./)中的./.git/之外的所有內容,然後將所有內容從./git移動到./中對我來說更容易。最後rmdir空的.git。謝謝 – Arcymag

+0

嘿,非常感謝。你爲我節省了很多時間! – Uko

0

這是一個權限問題(你不應該這麼說),或者是一個chmod(訪問)問題。
要加倍肯定的是,你可以用「兩個目錄的LS -alrt」編輯你的問題。
如果它new repos declaration過程中出現故障,它會繼續努力,在各新推申報。

+0

謝謝你的回答。你是對的,它可能是一個許可錯誤,但它不是這次。看到我的答案(我找到了原因!)。 – joscarsson

+0

@jos:優秀(+1)。感謝您的反饋。 – VonC

3

我有這個相同的錯誤,這是一個權限問題。

確保您的Project.git屬於Git用戶,而不是root。

以爲我會分享。

+0

同樣的問題在這裏,當我從舊服務器複製回購。 –