2013-01-21 62 views
0

我試圖創建一個腳本,將執行根上的svn更新,但我不明白我得到的結果。下面是我的腳本執行的代碼:Svn更新腳本跳過svn

$update = "svn --username user --password pwd update svn://URL"; 
$res = exec($update); 
echo $res; 

然而,$res的回聲給我「跳過‘:// URL SVN’」。

我用一個類似的方法來做一個svn結帳,它工作正常。有什麼我錯過了能夠做更新嗎?

回答

2

確保您位於工作副本內。如果腳本運行在非SVN目錄中,則會出現此錯誤:

Skipped '/non/workingcopy/path' 
+0

好吧我不確定我是否理解正確。目前,我的腳本在我的服務器的根目錄下執行,就像我執行svn checkout腳本一樣。 – oliboon

+0

@OlivierParenteau在你的腳本中,在你嘗試運行svn更新之前,只需運行這個命令來確認腳本在哪裏,你認爲它是從'echo __DIR __;'執行的;然後在命令行上,取出該目錄並嘗試這個'svn info '看看你是否得到了工作副本的詳細信息。 – Ray

+0

我試過了,我確實得到了工作副本的詳細信息。我以爲我可能一直在使用svn的錯誤URL,但使用這些信息中顯示的路徑,url或存儲庫根目錄不起作用。 – oliboon

1

可能您的腳本運行在工作副本之外。無論如何...如果你正在* NIX環境下開發,你也可以嘗試這種方法:

$result = shell_exec("/usr/bin/svn update /path/to/project --username user --password pass"); 
+0

不幸的是,我不能使用這種方法。謝謝。 – oliboon