posts - 262,  comments - 221,  trackbacks - 0

          【8】添加新的內容到版本控制


          在上一節中我向E:\Temp\ECoupon添加了三個目錄:doc、src、WebRoot,但是目前他們還沒有被加入到版本控制中。SVN提供了svn add命令來幫我們把資源加入到版本控制中。執行如下命令: 

           

          c:\>svn add E:\Temp\doc E:\Temp\src E:\Temp\WebRoot

          我們可以看到如下的輸出
          A  (bin)  E:\Temp\ECoupon\doc\UML Diagram\ECoupon activity diagram.png
          A  (bin)  E:
          \Temp\ECoupon\doc\UML Diagram\ECoupon class assoication diagram.png
          A  (bin)  E:
          \Temp\ECoupon\doc\UML Diagram\ECoupon user case diagram.png
          A  (bin)  E:
          \Temp\ECoupon\doc\UML Diagram\ecoupon.umr
          A  (bin)  E:
          \Temp\ECoupon\doc\UML Diagram\WebPage flow.doc
          A         E:
          \Temp\ECoupon\src
          A         E:
          \Temp\ECoupon\src\applicationContext.xml
          A         E:
          \Temp\ECoupon\src\com
          A         E:
          \Temp\ECoupon\src\com\three

          將會在終端看到很多輸出,其中A表示新增內容。默認情況下如果svn add 的對象是一個目錄,則目錄下的所有內容都會被加入版本控制。如果我們不想這樣做,而是只添加目錄(通常情況下發生在日志目錄下)。我們在執行svn add 命令的時候加上參數--non-recursive(-N)。

          此時再執行svn status命令會如何呢?
          C:\>svn status E:\Temp\ECoupon\doc
          A      E:
          \Temp\ECoupon\doc
          A      E:
          \Temp\ECoupon\doc\Requirement
          A      E:
          \Temp\ECoupon\doc\Requirement\ecoupon-requirement.txt
          A      E:
          \Temp\ECoupon\doc\Requirement\ECoupon功能列表.xls
          A      E:
          \Temp\ECoupon\doc\Requirement\tip.txt
          A      E:
          \Temp\ECoupon\doc\UML Diagram
          A      E:
          \Temp\ECoupon\doc\UML Diagram\ECoupon class assoication diagram.png
          A      E:
          \Temp\ECoupon\doc\UML Diagram\WebPage flow.doc
          A      E:
          \Temp\ECoupon\doc\UML Diagram\ecoupon.umr
          A      E:
          \Temp\ECoupon\doc\UML Diagram\ECoupon user case diagram.png
          A      E:
          \Temp\ECoupon\doc\UML Diagram\ECoupon activity diagram.png
          A      E:
          \Temp\ECoupon\doc\CustomerClas

          關于svn add命令我們有2個需要注意的地方:
           A.和svn status命令一樣,svn add命令只能使用PATH,而不能使用URL作為參數
           B.當svn add命令執行完畢后,相關資源并不會馬上立即被加入版本控制中,需要再執行一次commit

          C:\>svn commit E:\Temp\ECoupon -"add doc,src,webroot folder for project"

          我們將可以看到如下類似輸出
          Adding         E:\Temp\ECoupon\src\com\three\hk\ecoupon\util\Pager.java
          Adding         E:
          \Temp\ECoupon\src\com\three\hk\ecoupon\util\config.properties
          Adding         E:
          \Temp\ECoupon\src\hibernate.cfg.xml
          Adding         E:
          \Temp\ECoupon\src\log4j.properties
          Transmitting file data .

          .
          Committed revision 
          6.

          【9】更新本地工作副本
          在團隊合作的項目,經常是幾個人分別維護不同的部分。為了保證自己的代碼始終是最新的,我們需要經常執行更新操作---把版本庫的最新內容同步更新到本地。在SVN中可以通過svn update命令來達到目的。

          現在我們已經把新的資源添加到版本庫了,那是不是代表現在我們本地的工作拷貝就是最新版本的了呢?
          C:\>svn info E:\Temp\ECoupon
          Path: E:
          \Temp\ECoupon
          URL: http:
          //localhost:8000/svn/Workspace/Ericsson/ECoupon
          Repository Root: http:
          //localhost:8000/svn/Workspace
          Repository UUID: 06f3a259
          -b3b5-ff4e-9a70-52e8834f1976
          Revision: 
          5
          Node Kind: directory
          Schedule: normal
          Last Changed Author: qlinpen
          Last Changed Rev: 
          4
          Last Changed 
          Date2009-12-07 17:33:17 +0800 (星期一, 07 十二月 2009)


          C:
          \>svn info http://localhost:8000/svn/Workspace/Ericsson/ECoupon
          Path: ECoupon
          URL: http:
          //localhost:8000/svn/Workspace/Ericsson/ECoupon
          Repository Root: http:
          //localhost:8000/svn/Workspace
          Repository UUID: 06f3a259
          -b3b5-ff4e-9a70-52e8834f1976
          Revision: 
          6
          Node Kind: directory
          Last Changed Author: qlinpen
          Last Changed Rev: 
          6
          Last Changed 
          Date2009-12-08 12:05:15 +0800 (星期二, 08 十二月 2009)

          可以見到,我們本地工作副本的版本號依然是5,而不是6。這意味著雖然剛剛commit的操作由我們發出,但如果我們不主動從版本庫更新,SVN是不會在commit后主動更新本地工作副本的版本的。

          我們需要在每次commit后立即update,已保證我們最新代碼被上傳到版本庫的同時,他人的最新代碼能夠被及時更新到本地

          C:\>svn update E:\Temp\ECoupon
          At revision 
          6.

          C:
          \>svn info E:\Temp\ECoupon
          Path: E:
          \Temp\ECoupon
          URL: http:
          //localhost:8000/svn/Workspace/Ericsson/ECoupon
          Repository Root: http:
          //localhost:8000/svn/Workspace
          Repository UUID: 06f3a259
          -b3b5-ff4e-9a70-52e8834f1976
          Revision: 
          6


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2009-12-08 11:09 Paul Lin 閱讀(365) 評論(0)  編輯  收藏 所屬分類: 項目管理
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 城固县| 固始县| 通江县| 沙田区| 阿坝县| 沙洋县| 江都市| 宜州市| 射阳县| 老河口市| 凤城市| 哈密市| 犍为县| 西和县| 涿州市| 赤城县| 乌恰县| 闵行区| 北川| 拉萨市| 中宁县| 德阳市| 曲水县| 泗阳县| 博野县| 修文县| 湖南省| 平潭县| 个旧市| 东宁县| 黄龙县| 虹口区| 咸宁市| 台北市| 夏津县| 楚雄市| 岑巩县| 新竹市| 江华| 静安区| 张家港市|