亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
使用CVS進行項目開發管理
作者:網絡轉載 發布時間:[ 2013/2/17 16:40:52 ] 推薦標簽:

  
  CVS在每個目錄下面都建立了一個名叫CVS的目錄,此外,目錄的結構是一樣的,事實上,CVS目錄中存放的是一些關于目錄結構在倉庫中的信息,Entries中包含了這些目錄中的子目錄,Respository包含此目錄在倉庫中的相對位置,ROOT包含導出的模塊主目錄的路徑。
  
  cvs import命令只是在第一次把項目導入CVS倉庫時才使用,以后如果再需要加入目錄或者加入文件,則使用cvs add 命令加入,然后使用cvs commit提交之后,文件或者目錄才會真正加入到CVS倉庫中。我們可以把剛才編輯的hello.c文件拷貝到testprj/src/main/中,然后使用:
  [kerberos@power zhyf]$ cvs add testprj/src/main/hello.c
  cvs add: scheduling file `testprj/src/main/hello.c' for addition
  cvs add: use 'cvs commit' to add this file permanently
  
  使用cvs commit提交修改
  [kerberos@power zhyf]$ cvs commit
  cvs commit: Examining testprj
  cvs commit: Examining testprj/admin
  cvs commit: Examining testprj/doc
  cvs commit: Examining testprj/include
  cvs commit: Examining testprj/libs
  cvs commit: Examining testprj/src
  cvs commit: Examining testprj/src/include
  cvs commit: Examining testprj/src/main
  RCS file: /home/zhyf/cvsroot/testprj/src/main/hello.c,v
  done
  Checking in testprj/src/main/hello.c;
  /home/zhyf/cvsroot/testprj/src/main/hello.c,v <-- hello.c
  initial revision: 1.1
  
  使用RCS管理單個文件
  done
  
  testprj/src/main/hello.c
  
  由于CVS使用RCS管理單個文件,所以,前面我們講的關于RCS的知識也可以用到這里,不同的是命令之前要限定是cvs,比如cvs ci, cvs co, cvs diff, 或者在導出時使用 -r 選項指定導出的文件的版本。在源代碼文件中,同樣也可以使用RCS的關鍵字。
  對于非ASCII文件,如二進制可執行文件,位圖等文件,我們不能直接使用cvs add加入到CVS倉庫中,因為CVS只是基于ASCII代碼比較文件的改變,所以,對于二進制文件,如果單純使用cvs add 命令會破壞文件的完整,所在加入二進制文件時,要指定-kb參數。如果對已有文件進行了修改,使用cvs ci, cvs commit 來提交修改。
  另外一種情況是自己導出別人修改的文件,而不想覆蓋自己所作的修改,可以使用cvs update命令,這個命令會自動比較CVS倉庫中文件和當前自己文件的后修改時間來導出新的文件。
  
  在cvs update 和cvs ci 時,你對此的文件修改與他人發生沖突,CVS則提示你。CVS會在文件中使用“>>>>>>” 或者“<<<<<<<”標記標出沖突的地方,你可以與他人協商手動修改這一段代碼。
  
  如果你想刪除倉庫中的一個文件,要先刪除本地導出的文件,然后使用cvs remove 文件名, cvs commit來刪除。事實上,CVS是不會真正刪除這些文件的,如果你還想得到這些文件,只需要,使用cvs co -r 指定刪除前的版本導出可以了。
  
  有時候為了導出CVS倉庫中的深層目錄或者文件不得不輸入很長的路徑,這一點很討厭,你可以導出CVS倉庫中CVSROOT目錄下,修改modules文件,定義這個目錄或者文件為一個模塊,提交修改后可以直接使用cvs co 模塊名 可以導出了。
  
  CVS的版本控制功能主要體現在tag上。標記的作用如同是同時記錄了做標記時所有文件的版本,需要的時候可以一次導出這些版本不一的文件,這常常是在項目的開發達到了一定的目標時使用的。
  cvs tag 命令的參數只有一個:標記名。例如:
  cvs tag RELEASE_1.0_BETA
  以后,如果需要這個版本,只需要使用cvs co -r RELEASE_1.0_BETA可以導出這個版本了;蛘呤褂胏vs diff -r 來生成patch文件和使用cvs log -r 來查看這個版本的日志。
  
  標記的另外一個非常重要的作用是生成分支和合并分支。
  通常,我們的項目的開發到某一定的程度時,需要探索某一條開發途徑是否有效,這個時候,我們需要做一個試驗,但是這個試驗的分支的開發不能影響項目的主開發分支,這樣,我們可以生成一個分支開發,主開發分支也可以繼續進行,兩者并不沖突,將來如果證明分支開發有效,還可以把分支合并到主開發分支中。建立一個CVS分支:
  cvs tag -b 分支標記名
  
  建立分支后,并不影響當前我們從CVS倉庫中的文件,需要從CVS倉庫中重新導出分支BRANCH_VER:
  cvs co -r 分支標記名 模塊名 
  
  這樣,我們可以進行分支開發,主分支的開發也可以照常進行,如果此分支開發成功,我們可以把它與主分支合并:
  cvs update -j 分支標記名
  cvs commit
  可以把開發分支合并到主分支中去了。
  
  以上是本地CVS倉庫的操作,如果使用網絡CVS倉庫,只需要使用CVS_RSH環境變量指定通信shell,另外設置CVS倉庫為網絡倉庫可以了。網絡上的CVS倉庫的服務器有兩種:ext和dserver。對于后者在進行CVS操作時,需要先login驗證用戶。后者使用rlogin驗證,不需要顯式登陸。如:
  
  ext CVS 服務器使用
  export CVSROOT=:ext:kerberos@power:/home/repository 
  或者cvs -d :ext:kerberos@power:/home/repository
  cvs co platoon
  
  derser CVS 服務器使用
  export CVSROOT=:pserver:anonymous@anoncvs.kde.org:/home/kde
  cvs login 
  cvs co kdebase
  
  其他一些常用的cvs 命令選項
  -d 指定CVS倉庫的路徑
  -zn 使用gzip 壓縮后傳輸,到本地后自動解壓。n為壓縮級別通常式 1~4,通常使用于服務器的傳輸速度較慢的情況下。
  -x 用于服務器的通信使用加密算法,只有在使用kerberos驗證體系下有效
  
  CVS 的GUI工具
  幾個常用的GUI工具:
  LinCVS(圖1),是Xwindow 的CVS客戶端工具,比較流行的一個,功能也很強大. 

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 精品视频午夜一区二区 | 欧美成狂野欧美在线观看 | 亚洲社区在线观看 | 羞羞视频在线观看视频 | 中文字幕伊人 | 一个人看的www片免费高清中文 | 日韩三级中文 | 久久久国产一区二区三区 | 久久黄色小视频 | 2021日日摸夜夜添夜夜添影院 | 日日噜噜噜夜夜爽爽狠狠 | 欧美综合区自拍亚洲综合图区 | 女性特黄一级毛片 | 亚洲图片在线视频 | 国产91免费视频 | 日日拍夜夜嗷嗷叫视频 | 欧美日韩视频在线 | 色噜噜狠狠色综合中国 | 欧美人xxx | 国产精品综合色区在线观看 | 香蕉国产人午夜视频在线 | 91精品啪在线观看国产线免费 | 日本三级2018亚洲视频 | 自偷自偷自亚洲首页精品 | 爱呦视频在线播放网址 | 一级片一区 | 天天色综合社区 | 中文字幕在线免费 | 色五月情 | 欧美一级欧美三级在线观看 | 日韩视频高清免费看 | 第四色播日韩第一页 | 欧美日韩一区二区在线观看视频 | 亚洲视频在线免费观看 | 欧美国产成人免费观看永久视频 | 日韩中文字幕网 | 欧美影院一区 | 黄色片子免费看 | 玖玖在线精品 | 久久网欧美 | 色迷迷网免费站视频在线观看 |