我試圖創建一個腳本,將執行根上的svn更新,但我不明白我得到的結果。下面是我的腳本執行的代碼:Svn更新腳本跳過svn
$update = "svn --username user --password pwd update svn://URL";
$res = exec($update);
echo $res;
然而,$res
的回聲給我「跳過‘:// URL SVN’」。
我用一個類似的方法來做一個svn結帳,它工作正常。有什麼我錯過了能夠做更新嗎?
我試圖創建一個腳本,將執行根上的svn更新,但我不明白我得到的結果。下面是我的腳本執行的代碼:Svn更新腳本跳過svn
$update = "svn --username user --password pwd update svn://URL";
$res = exec($update);
echo $res;
然而,$res
的回聲給我「跳過‘:// URL SVN’」。
我用一個類似的方法來做一個svn結帳,它工作正常。有什麼我錯過了能夠做更新嗎?
確保您位於工作副本內。如果腳本運行在非SVN目錄中,則會出現此錯誤:
Skipped '/non/workingcopy/path'
可能您的腳本運行在工作副本之外。無論如何...如果你正在* NIX環境下開發,你也可以嘗試這種方法:
$result = shell_exec("/usr/bin/svn update /path/to/project --username user --password pass");
不幸的是,我不能使用這種方法。謝謝。 – oliboon
好吧我不確定我是否理解正確。目前,我的腳本在我的服務器的根目錄下執行,就像我執行svn checkout腳本一樣。 – oliboon
@OlivierParenteau在你的腳本中,在你嘗試運行svn更新之前,只需運行這個命令來確認腳本在哪裏,你認爲它是從'echo __DIR __;'執行的;然後在命令行上,取出該目錄並嘗試這個'svn info'看看你是否得到了工作副本的詳細信息。 –
Ray
我試過了,我確實得到了工作副本的詳細信息。我以爲我可能一直在使用svn的錯誤URL,但使用這些信息中顯示的路徑,url或存儲庫根目錄不起作用。 – oliboon