下面是在eclipse下使用subeclipse插件詳細使用過程:
首先建立一個工程,名字叫Facebook
1.建立分支,爲新的分支指定訪問URL:Facebook3[註釋不要忘了]
2.建立好分之後,使用“切換”功能切換到分支下進行開發。
我新建了一個FB3.html的文件並在分支下進行提交。
3.切換回trunk版【即URL爲Facebook的版本】
你會發現trunk版裏並沒有出現我們剛剛提交的FB3.html,因爲FB3.html是屬於分支的,接下來我們要做的就是“合併”,通過合併,我們可以將分支下進行的更改合併到trunk版裏。
下面是合併的主要配置:
起始路徑:trunk版的路徑【若需要把trunk版的改動合併到分支則相反】
目標路徑:從哪裏獲取改動【這裏是分支路徑】
你可以使用指定的版本號,這裏採用最新修訂版。
4.點擊合併,你會發現trunk版下新增了一個文件FB3.html
這樣我們就將分支下所做的改動合併到了trunk版裏。
值得注意的是:
1.在建立分支的時候最好添加註釋。
2.進行合併前最好保證兩個版本都是乾淨的【即沒有未提交或者衝突的文件存在】
3.合併時的目標路徑:需要把誰的改動合併到其他版本就填誰的URL。
整個過程的SVN命令行輸出如下:
copy-rHEADsvn://192.168.1.192/placii/staggingarea/xiangqi/Facebooksvn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3
propsetsubclipse:tags"1538,Facebook2,/Facebook2,branch
1540,Facebook3,/Facebook3,branch"E:/myeclipse/workspace/Facebook
switchsvn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3E:/myeclipse/workspace/Facebook-rHEAD
Atrevision1541.
add-NE:\myeclipse\workspace\Facebook\WebRoot\FB3.html
AE:/myeclipse/workspace/Facebook/WebRoot/FB3.html
commit-m""E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
AddingE:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Transmittingfiledata...
Committedrevision1542.
switchsvn://192.168.1.192/placii/staggingarea/xiangqi/FacebookE:/myeclipse/workspace/Facebook-rHEAD
DE:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Updatedtorevision1542.
=====FileStatistics:=====
Deleted:1
mergesvn://192.168.1.192/placii/staggingarea/xiangqi/Facebook@HEADsvn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3@HEADE:/myeclipse/workspace/Facebook
AE:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Mergecomplete.
=====FileStatistics:=====
Added:1
copy -rHEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3
propset subclipse:tags "1538,Facebook2,/Facebook2,branch
1540,Facebook3,/Facebook3,branch" E:/myeclipse/workspace/Facebook
switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3 E:/myeclipse/workspace/Facebook -rHEAD
At revision 1541.
add -N E:\myeclipse\workspace\Facebook\WebRoot\FB3.html
A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
commit -m "" E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Adding E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Transmitting file data ...
Committed revision 1542.
switch svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook E:/myeclipse/workspace/Facebook -rHEAD
D E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Updated to revision 1542.
===== File Statistics: =====
Deleted: 1
merge svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook@HEAD svn://192.168.1.192/placii/staggingarea/xiangqi/Facebook3@HEAD E:/myeclipse/workspace/Facebook
A E:/myeclipse/workspace/Facebook/WebRoot/FB3.html
Merge complete.
===== File Statistics: =====
Added: 1
希望本文能有所幫助。
其他參考資料:
http://www.iteye.com/wiki/subclipse/1626-subclipse-getting-started-guide-and-reference-c
===========================關於合併==========================
我在合併的時候發現,合併後文件被直接覆蓋掉了,而沒有出現本該出現的【衝突】,後來經過仔細研究發現,是操作問題。
假設我原來的項目是placii,建立了一個分支是placiiStore.現在需要將分支placiiStore合併到主幹線上。那配置應該如圖所示
1.【起始路徑】:這裏需要填分支的路徑。
2.第一個修訂號:建立分支時的版本號。在建立分支時候記錄下svn的console
我的是
copy-rHEADsvn://192.168.1.192/placii/trunk/code/server/source%20code/placiisvn://192.168.1.192/placii/trunk/code/server/source%20code/placiiStore
propsetsubclipse:tags"1527,placiiStore,/sourcecode/placiiStore,branch
1549,placiiStore,/source%20code/placiiStore,branch"E:/myeclipse/workspace/placii
switchsvn://192.168.1.192/placii/trunk/code/server/sourcecode/placiiStoreE:/myeclipse/workspace/placii-rHEAD
Atrevision1550.
copy -rHEAD svn://192.168.1.192/placii/trunk/code/server/source%20code/placii svn://192.168.1.192/placii/trunk/code/server/source%20code/placiiStore
propset subclipse:tags "1527,placiiStore,/source code/placiiStore,branch
1549,placiiStore,/source%20code/placiiStore,branch" E:/myeclipse/workspace/placii
switch svn://192.168.1.192/placii/trunk/code/server/source code/placiiStore E:/myeclipse/workspace/placii -rHEAD
At revision 1550.
3.目標路徑:這裏使用起始路徑。
4.目標版本號:使用最新版即HEAD.
點擊合併,如果有人在主幹線版本上做了更改,而你再分支上也對這個文件作了更改,將會產生衝突。然後手動把衝突的代碼合併一下,右鍵-標記爲解決,這就達到我們的目的了。