2011-06-29 59 views
2

我正在使用gitosis來管理一堆私人存儲庫。一切都很好,我也沒有問題如何添加存儲庫。問題是我們的開發人員相對較少,但存儲庫很多,特別是因爲我們的一個項目使用git子模塊的情況非常嚴重。使用gitosis管理大量存儲庫的最簡單(和最簡單的)方法是什麼?

這意味着gitosis.conf的開始變得有點笨拙,我想知道是否有任何的方式來整理一下。目前,我們使用這樣的:

[group developers] 
writable = repo1 repo2 repo3 (...) repo20 repo21 repo22 
members = dev1 dev2 

而當我們想另一個回購,我們把它添加到可寫列表的末尾。問題是,這份名單已經越來越難讀了,我們甚至還沒有完成所有的項目。我知道這是真實的吹毛求疵的是什麼,否則一個很好的設置,但我只是想知道如果任何人有任何方便的提示或提示,以分享更好的方式來組織gitosis.conf的

乾杯

回答

2

您可以使用多條線路是這樣的:

[group developers] 
writable: 
repo1 
repo2 
repo3 
(...) 
repo20 
repo21 
repo22 

members: 
dev1 
dev2 

要使用每行一個項目之前顯示的歷史,你可以使用git log -p --color-words

+0

謝謝,這正是我所追求的。歡呼 – Addsy

0

的gitosis。 conf可以創建開發人員組,然後爲其分配存儲庫。另一種方式是配置存儲庫,併爲每個分配開發人員。

我不認爲這兩個方案都將在這種情況下更好。這似乎是一項艱鉅的任務。所以我會問:一些開發者訪問一個站點而不是另一個站點是否真的很重要?如果沒有,那麼只需創建一個組,並列出所有網站:)

+0

呀,說實話,我沒有瘋大驚小怪的權限。我們需要知道誰改變了什麼,但我們非常開放,並且誰也不能看到或者甚至不承諾特定的項目都沒有問題。這更多的是我們在gitosis.conf中列出的方式 - 全部在一行上。我更多地詢問像通配符這樣的事情的可能性,闖入幾行,類似的事情。對不起,如果這不是太清楚 – Addsy

1

另一種解決方案是創建你找到更方便的語法自己的conf文件,並創建一個腳本來變換成gitosis.conf的文件。

然後,你可以使用通配符和正則表達式匹配庫的名字,如:

repo-*repo-[\d]+匹配repo-1repo-2

+0

感謝您的建議。我認爲上面提到的方法之一可能已經足夠了,但我會牢記這個想法,因爲如果前一個選項開始變得笨拙,它似乎可能會有用。乾杯 – Addsy

0

Gitosis的不再保持和作者的支持;大多數人通常會推薦使用gitolite而不是它具有更好的文檔和更多功能。

只要我在做廣告,我還不如宣傳gitslave作爲git-submodules的簡單替代方案,因爲所有存儲庫都是本地開發的,並且不需要緊密綁定(標籤除外)主版本庫和從屬版本庫在哪個版本之間。對於某些工作流程更好,對其他工作流程更糟糕。

+1

gitolite是整潔,但這應該是一個評論。 – Tobu

+0

爲此歡呼。我曾見過gitolite,但我現在不想幹涉已經工作的設置 - 只是想做一點整理。歡迎在gitslave上進行單挑。有一個快速瀏覽,看起來很有趣,所以我會銘記在心 – Addsy

相關問題