在我的構建腳本中,我想檢查是否所有子模塊都檢出了正確的版本。Git:以編程方式檢查所有子模塊是否指向正確的提交
git submodule status
給我「+」或「 - 」,但退出碼是百達0
我使用的是DOS的批處理文件,我想有一個錯誤代碼(%ERRORLEVEL%)0,如果如果至少一個指向不同的版本,則所有子模塊指向正確提交或!= 0。的GIT中的子模塊狀態
實施例輸出
$ git submodule status
634e661fd09059a7337c930a9fc5489564dd4ba6 sub1 (heads/master)
+dceaedd21997d39ab043b0a3a02626fd38234aae sub2 (dceaedd)
b1f1a58d912e0ab6a885e00cece601f1712d59a1 sub3 (heads/master)
SUB2已經檢出由 '+'
從文檔表示的不正確的版本:
每個SHA-1將被前綴 - 如果子模塊未初始化 ,則+如果當前簽出的子模塊提交不與 匹配在包含索引中找到的SHA-1如果子模塊已合併衝突,則存儲庫和U 。
精細。什麼阻止你這樣做?你介意分享你的批處理文件,並告訴我們你卡在哪裏嗎?順便說一下:它不是* [DOS](https://scalibq.wordpress.com/2012/05/23/the-windows-command-prompt-is-not-a-dos-prompt/)! – aschipfl
因爲我從來沒有使用過git,所以我不知道'git submodule status'的輸出是什麼樣的。但是,這個任務似乎很容易。你可以發佈命令的輸出示例嗎? – MichaelS
@aschipfl:無論版本是否正確,錯誤代碼始終爲0 – schoetbi