2011-05-25 97 views
0

使用Grit處理ruby/git項目,但我無法以編程方式更新我的子模塊。我想出了missing_method函數如何映射到git以及如何使用它執行未寫入砂礫的任務,但子模塊更新函數看起來不起作用。Grit submodule update returns nil

這裏是我的代碼示例:

git = Grit::Git.new(@repository) 
git.pull 
pp git.submodule({:quiet => false, :verbose => true, :progress => true}, "update") 

返回:提前

"" 

謝謝!

回答

0

不熟悉的砂礫,但在普通的git你會

git submodule update --init --recursive 

初始化部分設置在輔助模塊中的遠程URL。希望你有:init => true:recursive => true參數可用。遞歸對你來說是可選的。如果您的子模塊回購具有子模塊本身,請使用它。

希望這會有所幫助。

+0

在命令中手動輸入可以很好地工作,但是我編寫的腳本旨在爲用戶管理這些方面,並在父存儲庫爲子模塊設置新頭時自動更新子模塊。 – Z99 2011-05-25 21:48:51

+0

你看過gitslave嗎? – 2011-05-25 22:18:35

+0

對不起,但我試圖保留我已寫入的ruby腳本中的所有內容。如果需要的話,我想我可以手動執行git命令,而不是使用grit的內置方法。 – Z99 2011-05-27 18:56:56