2012-03-24 24 views
1

我在Windows 2008上使用CollabNet Subversion Edge ...並嘗試在開發人員使用Tortoise SVN進行任何提交時自動部署(從repo更新到文件夾)。任何人都有一個示例Windows批處理文件來自動部署Collabnet倉庫到文件夾?

我在正確的repo/hooks文件夾中有一個post-commit鉤子文件。該文件被命名爲後commit.bat

的文件有一條線 -

「C:\ Program Files文件\ TortoiseSVN的\ BIN \ tortoiseproc.exe」/命令:update /路徑:「C:\ WAMP \ www \ thewebsite *「/ closeonend:1 /outfile:"c:\csvn\update-logs\thewebsite-out.txt」

當我提交任何內容時,如果我有文件存在,則超時。如果該文件不存在,提交工作沒有任何問題。所以這告訴我提交後的文件正在被調用......並且有問題!

任何人都有一個示例提交後的Windows批處理文件,可以幫助我嗎?或知道如何解決我的特殊問題?

+0

/outfile在update命令中沒有描述。順便說一句,使用CLI客戶端是一個**更**簡單的方法 – 2012-03-24 19:06:15

回答

0

您應該嘗試通過從命令行調用它並傳入回購和版本參數來測試腳本。這可能會讓你更深入地瞭解它爲什麼會超時。例如:

script.bat PATH_TO_REPO REPO_VERSION 

也可以使用本地SVN客戶端庫來代替使用Tortoise。在您的腳本中,您可以導航到您要更新的文件夾,並調用「svn update」命令。這將更直接,不需要通過Tortoise只是爲了使更新命令回到本地庫。

嘗試這樣:

cd "c:\wamp\www\thewebsite" 
svn update 

如果你的SVN服務器要求您可能需要在您的腳本通過這些以及權限。

+0

嗨有 我永遠不知道有一個本地SVN命令。如果我把你建議的代碼放在一個批處理文件中,並手動運行它,它可以很好地工作。 如果我把代碼放在post-commit.bat中,所以我的本地PC上的SVN提交到repo中,提交不會停止/超時。 任何想法? 非常感謝! – 2012-03-25 15:25:58

+0

您可能想在新線程中執行更新(不是100%確定如何從shell執行此操作),因爲後提交腳本將不會返回,直到完成爲止。更新所花費的時間可能比提交超時允許的時間長。同時仔細檢查,沒有任何輸入需要,因爲這可能會鎖定腳本,所以它永遠不會返回。 – 2012-03-28 17:09:01

相關問題