SVN批處理


前言

  我們在項目開發中,使用的版本管理工具有svn git等。這里介紹一下用 bat命令操作svn .這樣會給我們帶來很大的方便。

bat命令 Python等大家一定要掌握哈,會給你帶來很多的方便。其他很多軟件 都留出來批處理的接口,自己在使用的過程中學會發現吧

這里是比較基礎簡單教程,一看就懂哈,有不懂或者不同的地方歡迎交流學習。

第一步

首先我們要找到你安裝的svn 的目錄,這里我使用的是TortoiseSVN ,目錄是這個、 C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe

如果你不知道你的目錄在哪,可以搜索一下TortoiseProc.exe。看看位置在哪、。或者直接win搜索TortoiseSVN或者TortoiseProc,右鍵查看,屬性,找到位置。。。

如圖解:

 

第二步

找到上面目錄之后。(為啥找的原理這里我就不解釋了)

新建一個文檔,將后綴名字改成 .bat.然后打開(注意打開的方式)

下面是一個簡單的 update例子。其他使用方法,參考后面哈

@echo off

echo - update

set Dir="D:\Work\Code"

"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%Dir%  /closeoned:1

上面path后面的Dir就是你要更新的目錄。 可以使用bat 取得當前目錄的方法。這樣比較通用 。寫好之后保存,執行就可以看到結果了。其他的你自己參照下面的表格,實驗一下吧

總結

  不論你學習什么東西或者做什么事,都要學會總結和發現,要敢於去嘗試。遇到問題不可怕,可怕的是不知道去找解決的辦法。上面的例子很多完善的地方,比如路徑不要寫死,可以通過其他方法找到。

不扯淡了。。。繼續work。。。

附錄

如果想在進度對話框執行完畢后自動關閉,而又不必設置永久性的參數,可以傳遞/closeonend參數。

  • /closeonend:0 不自動關閉對話框

  • /closeonend:1 如果沒發生錯誤則自動關閉對話框

  • /closeonend:2 如果沒發生錯誤和沖突則自動關閉對話框

  • /closeonend:3如果沒有錯誤、沖突和合並,會自動關閉

  • /closeonend:4如果沒有錯誤、沖突和合並,會自動關閉

下面的列表列出了所有可以使用TortoiseProc.exe訪問的命令,就像上面的描述,必須使用/command:abcd的形式,在列表中,因為節省空間的關系省略了/command的前綴。

表 D.1. 有效命令及選項列表

命令 描述
:about 顯示關於對話框。如果沒有給命令也會顯示。
:log 打開日志對話框,路徑指定了日志顯示的文件或目錄,另外還有三個選項可以設置:/revstart:xxx/revend:xxx/strict
:checkout 打開檢出對話框,/path指定了目標路徑,而/url制定了檢出的URL。
:import 打開導入對話框,路徑制定了數據導入路徑。
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.
:commit

打開提交對話框,路經指定了目標路徑或需要提交的文件列表,你也可以使用參數/logmsg給提交窗口傳遞預定義的日志信息,或者你不希望將日志傳遞給命令行,

你也可以使用/logmsgfile:path,path指向了保存日志信息的文件。為了預先填入bug的ID(如果你設置了集成bug追蹤屬性),你可以使用/bugid:"the bug id here"完成這個任務。

:add /path的文件添加到版本控制 。
:revert 恢復工作副本的本地修改,/path說明恢復哪些條目。
:cleanup 清理中斷和終止的操作,將工作副本的/path解鎖。
:resolve /path指定文件的沖突標示為解決,如果給定/noquestion,解決不會向用戶確認操作。
:repocreate /path創建一個版本庫。
:switch 打開選項對話框。路徑參數指定目標目錄。
:export /path的工作副本導出到另一個目錄,如果/path指向另一個未版本控制目錄,對話框會詢問要導出到/path的URL。
:merge Opens the merge dialog. The path specifies the target directory.
:copy 帶來branch/tag對話框,/path是branch/tag在工作副本中的出處。
:settings 打開設置對話框。
:remove 從版本控制里移除/path中的文件。
:rename 重命名/path的文件,會在對話框中詢問新文件,為了防止一個步驟中詢問相似文件,傳遞/noquestion
:diff 啟動TortoiseSVN設置的外置比較程序,/path指定了第一個文件,如果設置了/path2,比較程序會啟動兩個文件,如果省略/path2,比較程序會比較/path和它的BASE。
:conflicteditor 打開TortoiseSVN設置的沖突工具,在/path中需要設置沖突文件的正確文件。
:relocate 打開重定位對話框,/path指定了重定位的工作副本路徑。
:help 打開幫助文件
:repostatus 打開為修改檢出對話框,路經指定了工作副本目錄。
:repobrowser 打開版本庫瀏覽對話框,URL為工作副本/path指向的或/path直接指出的,另外一個選項是/rev:xxx,可以用來指定要顯示的修訂版本號,如果省略/rev:xxx,缺省是HEAD。
:ignore /path中的對象加入到忽略列表,也就是將這些文件添加到svn:ignore屬性。
:blame 打開/path指定文件的追溯對話框,如果設置了startrevendrev,對話框詢問追溯范圍的對話框不會顯示,如果設置了/line:nnn,TortoiseBlame會打開特定文件的某一行。
:cat /path指定的工作副本或URL的文件保存到/savepath:path,修訂版本號在/revision:xxx,這樣可以得到特定修訂版本的文件。
:createpatch 創建/path下的補丁文件。
:revisiongraph 顯示/path目錄下的版本變化圖。
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path
:rebuildiconcache 重建windows的圖標緩存,只有windows的圖標緩存出了問題才需要這樣做,一個副作用就是(不可避免)桌面的圖標會重新組織。/noquestion

參考文檔

http://blog.csdn.net/yangzhongxuan/article/details/7018168

http://www.cnblogs.com/doupip/archive/2012/02/10/2345708.html

 轉載請注明出處,有錯誤,請指正哈,大神勿噴


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM