原文鏈接: http://www.cnblogs.com/andrew-blog/archive/2012/08/21/SVN_DOS_Commands.html
TortoiseSVN因為所有的命令都是通過命令行參數控制,你可以自動批處理腳本或從其它程序(例如你喜歡的文本編輯器)啟動特定的命令和對話框。
TortoiseSVN命令
TortoiseSVN的GUI程序被稱為TortoiseProc.exe。
所有的命令都指定參數 /command:ABCD,ABCD是必須的命令名。大多數這些命令需要至少一個路徑作為參數,如 /path:“一些路徑”。
由於一些命令需要一個目標路徑的列表(例如提交一些特定的文件) /path 參數可以接收多個路徑,由一個*字符分隔。
TortoiseSVN使用臨時文件在shell擴展和主程序之間傳遞多個參數。從TortoiseSVN 1.5.0或更高版本, / notempfile參數是過時的並且沒有必要將它添加了。
進度對話框用於提交,更新和更多的命令通常保持打開狀態的命令后,直到用戶按下“確定”按鈕完成。這是可以改變的,在設置對話框中選中相應的選項。但是,使用此設置將關閉進度對話框,不管你的批處理文件或從TortoiseSVN右鍵菜單中啟動命令。
要指定一個不同的位置配置文件,使用的參數 /configdir:“路徑為 config 目錄”。這將覆蓋默認的路徑,包括任何注冊表設置。
要關閉進度對話框的命令結束的情況下自動設置永久性的參數,你可以傳遞/ closeonend 參數。
- / closeonend:0不自動關閉對話框
- / closeonend:1,會自動關閉,如果沒有錯誤
- / closeonend:2會自動關閉,如果沒有發生錯誤和沖突
- / closeonend:3會自動關閉,如果沒有錯誤,沖突和合並
- / closeonend:4會自動關閉,如果沒有錯誤,沖突和合並
下表列出了所有可以使用TortoiseProc.exe命令行訪問的命令。如上所述,這些應中使用的形式/command:abcd 。在表中 /command 前綴被省略以節約空間。
命令 |
描述 |
:about |
顯示關於對話框。如果直在dos中輸入TortoiseProc 也將直接顯示關於對話框。 |
:log |
打開日志對話框。 /path 指定的文件或文件夾的日志顯示。附加的選項可以設置了/startrev:XXX, /endrev:XXX, /strict,啟用“停止復制”復選框,/merge 啟用“包括合並版本”復選框,/findstring :“過濾器字符串” ,/findtext 的強制過濾器使用文本,而不是正則表達式,或/findregex 強制使用正則表達式過濾器,而不是簡單的文本搜索。並且/findtype:X 其中X是一個從0到511之間的數字。這些數字的總和以下選項:
如果 /outfile:path 為指定文件,寫入到該文件的日志對話框關閉時,將選中版本的。都寫在相同的格式是用來指定在合並對話框訂正訂正。 |
:checkout |
打開“檢出”對話。 /path 指定目標目錄,/url 指定檢出的URL。如果您指定鍵 /blockpathadjustments,自動檢測路徑被阻斷調整。 /revision:XXX指定的修訂檢查。 |
:import |
打開的導入對話框。 / path 指定要導入的數據的目錄。您也可以指定/logmsg的的開關,通過預定義的日志信息導入對話框。或者,如果你不想通過在命令行上的日志信息,的使用/ logmsgfile:路徑,路徑指向一個文件,其中包含的日志信息。 |
:update |
更新工作的SVN路徑。如果該選項 /rev 的話,會顯示一個對話框,要求用戶到哪個修訂版本的更新應該去。為了避免對話框中指定修訂版本號/rev:1234。其他選項 /nonrecursive 和 /ignoreexternals 的 。 |
:commit |
打開提交對話框。/path 指定了目標路徑或需要提交的文件的列表。您也可以指定/ logmsg 的的開關,通過預定義的日志信息,在提交對話框。或者,如果你不想通過在命令行上的日志信息,的使用 /logmsgfile:路徑,路徑 點到一個文件中包含的日志信息。要預先填入bug的ID的情況下,你已經設置了集成bug跟蹤系統正確,你可以使用 /BUGID:“bug的ID在這里”做到這一點。 |
:add |
添加/版本控制的路徑中的文件。 |
:revert |
還原的工作副本的本地修改。/path 告訴哪些項目恢復。 |
:cleanup |
清潔起來中斷或中止操作,並解除工作副本的 /path。 |
:resolve |
標記 /path 解決一個指定文件的沖突 。如果 /noquestion 是給定的,那么解決的是做了不要求用戶干涉,如果它真正應該讓用戶來干涉該操作。 |
:repocreate |
創建一個版本庫中 /path |
:switch |
打開選項對話框。/path 指定目標目錄。 |
:export |
的工作副本導出 到另一個目錄/路徑。/path 指向一個沒有版本控制目錄,對話框會詢問出口的目錄 /path 的URL 。 |
:dropexport |
在/ path的工作副本導出到指定的目錄 /droptarget。這種出口不使用的出口對話框,而是直接執行。選項 / overwrite 指定覆蓋現有文件,無需用戶確認,和選項 /autorename 的規定,如果文件已經存在,導出的文件自動重命名,以避免覆蓋。 |
:merge |
打開合並對話框。 / path指定了目標目錄。 |
:copy |
/tag 對話框。/path 是分支 /tag 從工作副本。/URL 的目標URL。您也可以指定 /logmsg 的開關,通過預定義的日志信息的分支/標簽對話框。或者,如果你不想通過在命令行上的日志信息,的使用/logmsgfile:路徑,路徑 點到一個文件中包含的日志信息。 |
:settings |
打開設置對話框。 |
:remove |
刪除的文件 /path 從版本控制的路徑。 |
:rename |
重命名文件 /path。一個對話框,詢問該文件的新名稱。為了避免類似的文件重命名一個步驟的問題,通過 /noquestion |
:diff |
開始在TortoiseSVN設置的外置的區別程序。 /path 指定的第一個文件。如果的選項 /PATH2 設置的,那么diff程序開始,這兩個文件。如果 /PATH2被省略,則差異之間進行文件 /path 和它的基礎。顯式設置的版本號使用了/startrev:XXX 和 /endrev:XXX。 如果/blame PATH2 沒有設置,那么差異是由第一個責怪的文件的修訂。 |
:showcompare |
根據不同的URL和修訂比較,可以顯示出一個統一的diff(如果統一設置的選項),出現一個對話框的列表已更改的文件或URL指向文件開始為這兩個文件的差異。 URL1,URL2, revision1的和revision2的選項 必須指定的。可選的選項pegrevision, ignoreancestry,指責和統一。 |
:conflicteditor |
開始的沖突工具,在TortoiseSVN的設置有沖突的文件 /path 的正確文件。 |
:relocate |
打開重定位對話框。/path 指定重新定位的工作副本路徑。 |
:help |
打開幫助文檔。 |
:repostatus |
打開檢查修改對話框。/path 指定的工作副本的目錄。 |
:repobrowser |
啟動庫瀏覽器“對話框中,指向的URL的工作副本的URL地址 /path 指向工作文件路徑。另外一個選項 /REV:XXX可以用來指定修訂版本庫瀏覽器顯示。如果 /REV:XXX 省略,則默認為HEAD。如果一個URL,/projectpropertiespath:路徑 /WC 路徑點 從哪里閱讀和使用項目屬性指定的路徑。 |
:ignore |
添加到忽略列表中的所有目標 /path,即增加了使用svn:忽略 對這些文件的屬性。 |
:blame |
打開追溯對話框指定的文件/path。 如果選項了/startrev 及 /endrev 的設置,然后在對話框,詢問追溯范圍不顯示,但修改這些選項的值來代替。 如果該選項 /line:nnn,TortoiseBlame會打開,顯示指定行數。 選項 /ignoreeol, /ignorespaces 和 /ignoreallspaces,也都支持。 |
:cat |
保存文件的工作副本或URL路徑 /path /savepath:路徑中指定的位置 。修訂 /revision:XXX。這可以被用來獲取某個特定的版本的文件。 |
:createpatch |
創建一個補丁文件 /path 中指定的路徑 。 |
:revisiongraph |
顯示給定的路徑 /path 中的版本變化圖 。 |
:lock |
鎖定一個文件或文件 /path 在一個指定的目錄中的所有文件 。'鎖定'對話框,使用戶可以輸入注釋的鎖。 |
:unlock |
解鎖一個文件或文件 /path 在一個指定的目錄中的所有文件 。 |
:rebuildiconcache |
重建windows的圖標緩存。僅使用Windows圖標被破壞的情況下。(這是無法避免的)的一個副作用的是,桌面上的圖標會重新組織。為了抑制的消息框,,通過 /noquestion。 |
:properties |
顯示的屬性對話框中指定的路徑 /path。 |
示例:
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0