2012-11-15 113 views
0

我有一個遠程裸git倉庫,將運行測試,預先收到鉤,壓縮一些文件,並生成一個版本ID,當我從我的筆記本電腦做的事:Git的預接收鉤和子模塊

$ git push production master 

預收到鉤的簡化版本是什麼likje這樣的:

while read oldrev newrev refname 
do 
# Export deployed branch to build directory 
mkdir -p $BUILD_DIR 
git archive $newrev | tar -x -C $BUILD_DIR 
cd $BUILD_DIR 
the_build_script.sh 
done 

現在,我已經添加了兩個子模塊回購,我無法找到如何處理這個任何文檔或示例。我知道我應該構建腳本之前運行:

# git submodule init 
# git submodule update 

但是,據我所知,這將讓你在新推的代碼還沒有提交引用由老版本的代碼稱爲子模塊,而不是那些到遠程回購。

任何想法或示例如何處理?

非常感謝。

回答

0

好吧,我發現,(現在)似乎是工作的解決方案,這樣的解決了這個問題:

echo "Exporting repo and submodules for build process..." 
git clone -l --recursive . $BUILD_DIR 
echo "Cleaning up git information..." 
find $BUILD_DIR -name ".git" -exec rm -rf {} \; || true 

直到我找到一個更清潔的方式來做到這一點...這是不行的:-)