使用svn merge 實現回退版本

使用svn merge可以實現版本的回退功能。這裏svn中對於merge命令的使用方法轉載過來,以備查用。
名稱
svn merge — 應用兩組源文件的差別到工作拷貝路徑。
概要svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH]svn merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]svn merge -r N:M SOURCE[@REV] [WCPATH]描述
第一種和第二種形式裏,源路徑(第一種是URL,第二種是工作拷貝路徑)用修訂版本號N和M指定,這是要比較的兩組源文件,如果省略修訂版本號,缺省是HEAD。         
第三種形式,SOURCE可以是URL或者工作拷貝項目,與之對應的URL會被使用。在修訂版本號N和M的URL定義了要比較的兩組源。
WCPATH是接收變化的工作拷貝路徑,如果省略WCPATH,會假定缺省值“.”,除非源有相同基本名稱與“.”中的某一文件名字匹配:在這種情況下,區別會應用到那個文件。
         
不像svn diff,合併操作在執行時會考慮文件的祖先,當你從一個分支合併到另一個分支,而這兩個分支有各自重命名的文件時,這一點會非常重要。
          
別名

變化
工作拷貝
是否訪問版本庫
只有在對URL操作時會
選項--revision (-r) REV
--non-recursive (-N)
--quiet (-q)
--force
--dry-run
--diff3-cmd CMD
--ignore-ancestry
--username USER
--password PASS
--no-auth-cache
--non-interactive
--config-dir DIR
例子
將一個分支合併回主幹(假定你有一份主幹的工作拷貝,分支在修訂版本250創建):
$ svn merge -r 250:HEAD http://svn.red-bean.com/repos/branches/my-branch
U  myproj/tiny.txt
U  myproj/thhgttg.txt
U  myproj/win.txt
U  myproj/flo.txt
如果你的分支在修訂版本23,你希望將主幹的修改合併到分支,你可以在你的工作拷貝的分支上這樣做:
         
$ svn merge -r 23:30 file:///tmp/repos/trunk/vendors
U  myproj/thhgttg.txt

合併一個單獨文件的修改:
$ cd myproj
$ svn merge -r 30:31 thhgttg.txt 
U  thhgttg.txt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章