2014-02-07 89 views
2

我需要在相同的文件夾結構下在後臺執行多個SVN更新過程,因爲我有許多子文件夾並希望加快整個過程。並行SVN更新過程

我的文件夾結構是這樣的:

/folder/subfolder1/ 
/folder/subfolder2/ 
/folder/subfolder3/ 
... 
/folder/subfolder1000/ 

我試圖做這樣的事情在bash腳本:

svn up /folder/subfolder1 & 
svn up /folder/subfolder2 & 
svn up /folder/subfolder3 & 

問題是在SVN抱怨道:「/文件夾」是鎖定,只有第一項任務完成正確,其他兩個不會,並得到像這樣的錯誤消息:

svn: Working copy '/folder' locked 
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) 

Is there一種通過多個並行SVN進程完成任務的方式,因爲逐個文件夾(由其他進程選擇)需要很長時間才能完成? P:我正在用更高級的編程語言(PHP-CLI)完成所有這些工作,但爲了簡化問題,我把它寫成bash腳本(遇到同樣的問題)。

+0

你的'svn --version'是什麼? – janos

+0

svn,版本1.6.11(r934486) – mikikg

回答

2

在早期版本的Subversion中,每個子目錄都有自己的.svn文件。如果您的svn已足夠大,並且您在子目錄中運行命令,那麼我認爲這不會鎖定父目錄,並且這些命令可以並行執行。就像這樣:

(cd /folder/subfolder1; svn up)& 
(cd /folder/subfolder2; svn up)& 
(cd /folder/subfolder3; svn up)& 

雖然,說實話,我還以爲你原來的命令應太,我不明白爲什麼父目錄被鎖定。

+0

當在子文件夾中進行cd切換時,它可以工作!將做一些未來的測試,如果行得通的話會接受你的答案;)Tnx很多 – mikikg

+1

我看看這個問題的變化日誌以及與此相關的接縫:http://mail-archives.apache.org/mod_mbox /subversion-commits/201007.mbox/%[email protected]%3E「教FSFS鎖存儲管理代碼一致地期望 在父目錄中查找哈希不指向其直接 子指針,但指向文件鎖定在它們的下方。「 – mikikg

+0

@mikikg很好,很高興知道 – janos