SVN的子命令SVN merge詳解,應(yīng)用兩組源文件的差別到工作拷貝路徑
本節(jié)介紹SVN子命令SVN merge的使用問題,即子命令SVN merge—應(yīng)用兩組源文件的差別到工作拷貝路徑,SVN的拷貝是一種比較有技巧的簡單問題,大家在平時的使用過程中有更好的方式希望能夠提供出來,供我們大家共同交流討論。下面是具體的介紹。
名稱
子命令SVN merge—應(yīng)用兩組源文件的差別到工作拷貝路徑。
概要
svnmerge[-cM|-rN:M]SOURCE[@REV][WCPATH]
svnmergesourceURL1[@N]sourceURL2[@M][WCPATH]
svnmergesourceWCPATH1@NsourceWCPATH2@M[WCPATH]
描述
子命令SVN merge-應(yīng)用兩組源文件的差別到工作拷貝路徑的第一種和第二種形式里,源路徑(第一種是URL,第二種是工作拷貝路徑)用修訂版本號N和M指定,這是要比較的兩組源文件,如果省略修訂版本號,缺省是HEAD。-cM選項與-rN:M等價,其中N=M-1,使用-c-M則相反:-rM:N,其中N=M-1。
第三種形式,SOURCE可以是URL或者工作拷貝項目,與之對應(yīng)的URL會被使用。在修訂版本號N和M的URL定義了要比較的兩組源。
WCPATH是接收變化的工作拷貝路徑,如果省略WCPATH,會假定缺省值“.”,除非源有相同基本名稱與“.”中的某一文件名字匹配:在這種情況下,區(qū)別會應(yīng)用到那個文件。
不像svndiff,合并操作在執(zhí)行時會考慮文件的祖先,當(dāng)你從一個分支合并到另一個分支,而這兩個分支有各自重命名的文件時,這一點會非常重要。
選項
--revision(-r)REV
--change(-c)REV
--non-recursive(-N)
--quiet(-q)
--force
--dry-run
--diff3-cmdCMD
--extensions(-x)ARG
--ignore-ancestry
--usernameUSER
--passwordPASS
--no-auth-cache
--non-interactive
--config-dirDIR
例子:
我們來看一下子命令SVN merge應(yīng)用兩組源文件的差別到工作拷貝路徑的一個具體例子。將一個分支合并回主干(假定你有一份主干的工作拷貝,分支在修訂版本250創(chuàng)建):
$svnmerge-r250:HEADhttp://svn.red-bean.com/repos/branches/my-branch
Umyproj/tiny.txt
Umyproj/thhgttg.txt
Umyproj/win.txt
Umyproj/flo.txt
如果你的分支在修訂版本23,你希望將主干的修改合并到分支,你可以在你的工作拷貝的分支上這樣做:
$svnmerge-r23:30file:///tmp/repos/trunk/vendors
Umyproj/thhgttg.txt…
合并一個單獨文件的修改:
$cdmyproj
$svnmerge-r30:31thhgttg.txt
Uthhgttg.txt。子命令SVN merge應(yīng)用兩組源文件的差別到工作拷貝路徑介紹完畢。
【編輯推薦】