Introduction
Add your content here.
Eclipse安裝SVN
1 點Eclipse help菜單---> software update
2 選Available Software選項卡,點擊add site 新建新的地址資源,在地址裏面填 http://subclipse.tigris.org/update
3 接下來就是安裝了
新建svn倉庫
1 在eclipse裏面點windows菜單,而後選 show view--> other , 而後選擇svn下的資源庫
2 在打開的窗口裏麪點擊右鍵,選 "新建SVN資源庫", 地址填https://performancetestingtool.googlecode.com/svn/trunk
把新項目上傳到SVN
1 在要上傳的項目 點擊右鍵 選擇team ->選擇share project-> 選擇svn -> 而後選擇開始新建的主幹倉庫,上傳的項目最好是穩定的版本(由於上傳的地方是主幹)
合做開發
1 合做開發的開發人員每一個人都先連上主幹,而後給主幹新建一個分支,再從分支上面導入項目,本身的開發都放在分支上面來開發
2 等到你們模塊都那個完成以後,先讓一我的merge到主幹,接下來一個一我的來merge
svn 合做開發 版本管理
用subversion(SVN)進行版本管理 關鍵字: SVN
1。版本管理約定
程序員編寫程序的過程當中,每一個程序都會有不少不一樣的版本,這就須要程序員很好的管理代碼,在須要的時間能夠取出須要的版本,而且每一個版本都有一個完整的說明。
咱們使用Sub Version(簡稱SVN)做爲版本管理工具。這裏着重介紹SVN做爲跨平臺的多人協做使用方法。在多個程序員管理同一段代碼的過程當中,版本的管理顯得尤其重要,使用SVN能夠方便的進行分支、合併,記錄下全部的版本。
2。SVN基本配置
在開始某項軟件、文檔的開發與撰寫時,首先由配置管理負責人創建SVN倉庫、用戶名及其權限,並通知相關人員SVN倉庫地址、SVN倉庫負責人。
2.1 配置強制註釋
SVN倉庫的負責人把工程的tsvn:logminisize設置爲1,以便強制註釋。設置方法:在你的工程文件夾右鍵->屬性中,進入 Subversion標籤,選中tsvn: logminisize,確保複選框recursive選中,而後點擊Set按鈕把它的值設爲1,其意思是指提交的註釋最短長度爲一個字。如圖:
3. SVN軟件配置
3.1 忽略文件
在SVN 的Setting的General中,設置須要忽略的文件以便忽略掉一些臨時的、無用的文件,常被忽略的文件有 .opt .ncb .suo .plg .pch.idb .pdb .scc .obj Debug Release .o .bin .out .ilk .aps debug release .clw .bak。每一個程序員能夠根據本身的須要進行修改忽略文件,上面只是使用VC++與Tornado編程時經常使用的一些忽略文件。
3.2 合併比較工具
在Merge Tool中能夠選擇用來合併的工具,強烈推薦用Araxis Merge。在Setting->Diff中填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe";在Setting->Merge的選項中,填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe" %theirs %mine %merged ;其中"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe"是指合併工具的路徑,%theirs %mine %merged分別指..將要合併到主幹的分支,主幹,及合併後的結果。
4.倉庫目錄結構
SVN倉庫的負責人規劃好倉庫的目錄結構。推薦的目錄結構以下圖所示。
倉庫的一級目錄只有兩個,分別爲code和doc。其中,doc主要用來放置先期的文檔,code主要用來放置工程的代碼,也能夠包含後期的文檔。
倉庫的二級目錄只能夠是branch與trunk兩個目錄,分別存放主幹與分支。trunk目錄下直接存放工程文件。branch目錄下包括一些子目錄分別對應各個分支。
4. 本地目錄結構
從SVN倉庫中取出代碼時,必定不要把整個倉庫取出來,而應該只取出trunk目錄,或只取出branch下的某個分支目錄(好比上圖中的svn:\\code\branch\xw_051206)。
5.合併開發方法
5.1 合併開發基本流程
一個項目會有多我的共同合做開發完成。基本流程是:
各開發成員創建本身的分支,並在此分支上開發 各開發成員把分支合併到主幹上並造成較爲穩定 各個成員從新從主幹上創建新的分支,在此分支上開發(即回到第一步) 循環往復,直到工程結束。 下面我用一個例子來講明合做開發的基本流程。 如今xb與lzj兩個開發人員要共同開發一個工程onlytest,其這個工程的主幹的SVN倉庫地址以下圖。
5.2 分支的創建
xb與lzj分別在onlytest這個工程中創建兩個分支,分別爲xb 051115和lz_051115。
在這裏分支命名要採用[姓名縮寫6個數的日期 後綴(可選)]的形式,好比xb_051208_1,xb_051212之類的。建立完分支後咱們能夠看到這個工程的目錄結構以下圖所示:
建完以後, xb和lzj分別在本地取出對應的分支進行開發。
5.3 分支的合併
當程序到達一個比較穩定的階段,就須要把分支合併到主幹上,下面講述一下合併的流程。在本節中繼續使用上一節中所示的工程與SVN倉庫講解。
5.3.1 xb與lzj分別修改本身分支上的代碼
如今,主幹上的test_SVN.txt是空文檔。由xb與lzj修改提交後,兩個分支中test_SVN.txt分別以下兩圖所示:
5.3.2 xb先把主幹check out到本地。而後在主幹的目錄上右鍵選擇svn->merge,彈出以下窗口:
xb先把主幹check out到本地。而後在主幹的目錄上右鍵選擇svn->merge,彈出以下窗口:
此對話框的含義是把From指定的分支版本到To指定的分支版本之間的差別合併到主幹上。
在這裏分支選的是xb_051129。版本號的選定方法是點擊From中的Show Log,在Log窗口中按住Ctrl鍵,點擊選擇」made a copy」之上的那個版本,以及最頂上的那個版本,如圖 2.11所示。而後點擊肯定回到上圖中的對話框,會自動填寫From與To中的Revision號。
而後直接點擊merge進行合併,你也能夠經過dry run來看是否是二者之間有差別。因爲沒有其它人修改主幹,因此合併的很順利,下圖是xb_051115與主幹合併後的結果。合併完畢以後,由xb對主幹進行提交。
5.3.3 將lzj_051129分支合併到主幹,解決衝突
xb合併完畢以後,lzj要將他的分支合併到主幹上去,方法同上。可是因爲xb已經修改過主幹,因此產生了衝突,會彈出一個衝突對話框。雙擊對話框中的產生衝突的文件名,就能夠調出工具對此文件進行合併,下圖是咱們用merge工具顯示的界面。
首先比較第一個窗口與第二個窗口,把結果修改合併到第二個窗口。 而後確保光標處於第二個窗口時,點擊上圖中紅色圈圈所示的按鈕。這樣會把第二個窗口的內容所有複製到第三個容口。以後保存,退出。 而後在工程目錄上點右鍵,進行SVN->Resolved。這樣會刪除無用的臨時文件。 最後提交所做的修改,並添加詳細的註釋。
6. 其它注意事項
6.1 SVN中的標籤 與CVS不一樣,使用SVN時不用專門爲目錄添加標籤,由於SVN也對目錄進行版本管理。
咱們在提交時寫好註釋(好比重要的版本提交時使用051201之類的日期做爲開頭),就能夠經過註釋來查找比較重要的目錄版本號,至關於CVS或VSS中的標籤。
另外,每一個工程都會有一個版本說明文件,經過此文件能夠查找關鍵版本。
6.2 文件的刪除、移動與重命名 你能夠重命名、移動或刪除你的文件或文件夾,但請使用SVN進行這些操做,不然以前的版本信息會丟失。
使用SVN刪除、移動與重命名文件夾的方法是在文件/文件夾上點右鍵進行SVN操做,或直接在資源瀏覽器中使用右鍵拖放(會彈出SVN選項)。
文件的刪除、移動與重命名以前,必須保證工做目錄是最新的版本;進行這些操做以後,須要進行提交。
6.3 版本的回退
在代碼的編寫過程當中,不免會有不盡人意的地方,你也許須要回退到某一個版本,可是在這個過程當中可能有一些文件你想保留,也有一些文件你不想保留,這就牽扯到很複雜的版本管理過程,在這裏給你們推薦幾種方法。
6.3.1 如果你編輯了工程,在沒有提交的前提下,你想放棄這些修改,你能夠直接選擇revert就能夠更新到工程的最新的版本。
6.3.2 如果你想退回到某一個版本,你就能夠直接選擇update to reversion如圖,這樣咱們就能夠把咱們的版本回退到你選中的版本去,這種狀況下SVN並無顯示出有什麼衝突,而且新創建的文件也還在,可是在這種狀況下你並不能直接在你回退後的版本上進行編輯,由於SVN的版本控制仍是在最新的主幹上。咱們須要 update並解決衝突。
6.3.3 你能夠直接選擇revert changes from this revision如圖,這樣的話你能夠直接解決衝突並提交。不過這種方法的不足是,你新建的文件都沒有了,整個工程都回退到以前的版本了。
6.3.4 我推薦的一種方法是,直接export一個你須要的版本,而後用你export的版本覆蓋你的最新的版本,這樣你就能夠不丟失你新建的文件,同時得到head的SVN控制文件。
6.4 提交的時機
每一個工程會有不少個小模塊,當某個模塊達到穩定的時候,你就須要提交一次,以避免寫下個模塊代碼的時候出現不可恢復的錯誤。
每一次提交須要前,須要經過pclint檢查,保證是一個編譯沒有錯誤的版本。當提交比較穩定的版本的時候,同時要修改你的版本號。
提交的時候要添加註釋,若多人共同修改同一段代碼咱們就須要爲註釋添加上更加詳細的說明
6.5 版本說明文件
版本說明文件爲xml表格,可用excel編輯,它會記錄下關鍵的版本信息。
版本說明文件內容以下表。發佈版本是指用戶對外公佈的版本號,後文中有詳細描述;Revision是SVN內部的工程文件夾的版本號。一個發佈版本可能對應多個Revision:
原文轉載自:
http://www.cnblogs.com/arci/archive/2011/09/01/2161531.htmlhtml