2015-10-14 43 views
1

所以我試圖提交一個文件夾到已更改的存儲庫。我可以右鍵單擊該文件夾並提交(通過烏龜svn)沒有任何問題,它工作正常。但是,當我嘗試使用svn.exe通過.bat文件進行提交(與TortoiseProc.exe相反)時,沒有任何更改會提交到存儲庫。沒有錯誤消息,並且在日誌中什麼也沒有顯示。我想在批處理文件中運行它的原因是我可以通過TeamCity自動執行此過程。使用龜svn的問題是,提交對話框過程中,你必須手動點擊「確定」。所以我正在尋找一個解決方案,這個提交對話框彈出被繞過(如果這可能是一個選項)或通過批處理腳本提交文件夾的方式。我見過這個類似的問題,如果 發佈的問題不一樣,但沒有一個答案似乎幫助解決或涉及這個問題(這可能是由於我缺乏理解,所以我對任何種類的解釋都是開放的)。這是我正在運行的腳本:可以通過Tortoisesvn(TortoiseProc.exe)提交文件,但不能提交svn(svn.exe)

@echo off 
echo. 
echo. [ SVN Committer ] 
set SOURCE=WebServiceDLLs\ 
set SVN=C:\Program Files\TortoiseSVN\bin 
echo. 
echo. Committing %SOURCE% to SVN... 
"%SVN%\svn.exe" commit %SOURCE% -m "Committing Web Services, CCD, CCR, QA, ePrescription" > deploy2.log 
echo. done. 
echo. 
echo. Operation complete. 

我已經嘗試使用SOURCE變量的完整路徑,它仍然無法正常工作。任何幫助或指導,將不勝感激。謝謝!

+1

您是否嘗試更改'-m'的值或捨棄'SOURCE'中尾隨的反斜槓?調用svn後你有'echo%errorlevel%'嗎?如果您提供包含'SOURCE'的驅動器盤符的完整路徑,會發生什麼情況? – Marged

+0

@已收集,感謝您的回覆。我試圖將-m的值更改爲空引號,只是將「commit」改爲無效。我也嘗試刪除源代碼中的尾部反斜槓,這似乎也不起作用(都使用完整路徑和WebServiceDLLs)。 Echo%errorlevel%輸出一個0,並且使用包括該驅動器的完整路徑給出與僅將WebServiceDLL作爲路徑相同的結果。 –

+0

再次感謝您花時間發表評論和幫助,但我想我在這裏找到了我的答案:[link](http://www.wandisco.com/svnforum/forum/opensource-subversion-forums/scripts-contributions/8171 - 自動提交)。正是我需要的。 –

回答

0

再次感謝您抽出時間發表評論和幫助,但我想我在這裏找到了我的答案:link。正是我需要的。

我認爲我的問題是我沒有檢查添加或刪除的文件,這是我試圖提交的更改。由於我在上面的問題中執行的內容沒有檢查,所以沒有提交任何內容。這是我最終用來解決從上述鏈接取得的:

cd「Path \ to \ project」 FOR/f「tokens = 1,* delims =!」 %% a in('svn status^| find「!」')for/f「tokens = * delims =」%% x in(「%% a」)do svn del「%% x」012/FOR/f 「令牌= 1,*分隔符=?」 %% a in('svn status^| find「?」')do for/f「tokens = * delims =」%% x in(「%% a」)do svn add「%% x」 svn commit - m「系統自動提交」