亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1255 | 回復(fù): 0
打印 上一主題 下一主題

cvs 學(xué)習(xí) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2007-12-25 20:58 |只看該作者 |倒序?yàn)g覽

cvs
索引:

  • 權(quán)限設(shè)定


  • 配置cvs口令服務(wù)器


  • 初始化服務(wù)器


  • 使用基礎(chǔ)


  • 常用命令縮寫


  • 標(biāo)簽的管理


  • 版本分支


  • cvs輸出export


  • 清除工作拷貝


  • 日志管理


  • 關(guān)鍵字?jǐn)U展


  • 模塊配置


  • 二進(jìn)制文件配置


  • 觸發(fā)器文件


  • 其他配置文件

    1.權(quán)限設(shè)定
    (1).設(shè)定規(guī)則
    cvs用戶必須擁有對(duì)$CVSROOT/CVSROOT目錄及其中所有文件的讀權(quán)限。
    cvs用戶必須擁有對(duì)$CVSROOT/CVSROOT目錄下history文件的寫權(quán)限。
    cvs用戶如果希望擁有修改某個(gè)項(xiàng)目(模板)代碼等資料的權(quán)利,必須擁有對(duì)該目錄的寫權(quán)限。
    cvs系統(tǒng)的權(quán)限控制依賴于操作系統(tǒng),可利用操作系統(tǒng)本身的權(quán)限設(shè)置來(lái)控制cvs的權(quán)限。
    (2).口令文件
    pserver認(rèn)證方式以明文在網(wǎng)絡(luò)上傳輸cvs密碼。使用口令文件允許cvs用戶使用與系統(tǒng)帳號(hào)密碼不同的密碼。
    口令文件在服務(wù)器的$CVSROOT/CVSROOT/passwd文件。格式為:
    cvsuser:[passwd][:sysuser]
    口令passwd從/etc/passwd或/etc/shadow獲得。
    口令文件的安全性很重要,應(yīng)該將該文件的讀寫權(quán)限僅限于root。
    如:
    anonymous:
    ken:aWTrltv4Ae:pubcvs
    (3).設(shè)定只讀用戶
    在$CVSROOT/CVSROOT/readers文件里,每行記錄一個(gè)cvs用戶名。
    (4).設(shè)定具有寫權(quán)限的用戶
    在$CVSROOT/CVSROOT/writers文件里,每行記錄一個(gè)cvs用戶名。
    同時(shí)在readers和writers里的用戶只擁有讀權(quán)限。

    2.配置cvs口令服務(wù)器
    (1).inet服務(wù)器
    文件/etc/services:
    cvspserver 2401/tcp
    文件/etc/inet.conf:
    cvspserver stream tcp nowait root /usr/local/bin/cvs cvs –f \
            --allow-root=$CVSROOT pserver
    (2).xinet服務(wù)器
    編輯cvspserver文件:
    service cvspserver
    {
      port = 2401
      socket_type = stream
      wait = no
      user = root
      server = /usr/bin/cvs
      server_args = -f --allow-root=$CVSROOT pserver
    }
    (3).客戶端配置
    設(shè)置環(huán)境變量CVSROOT:
    CVSROOT=:pserver:username@hostname(ip):[port]path
    如:
    :pserver:cvsadm@10.10.16.177:2402/home/cvsroot
    :pserver:cvsadm@10.10.16.177:/home/cvsroot
    (4).客戶登錄/注銷cvs login
    cvs logout

    3.初始化服務(wù)器
    如果設(shè)置了環(huán)境變量CVSROOT,則執(zhí)行:
    cvs init
    否則,執(zhí)行:
    cvs –d path init
    其中path等于$CVSROOT。

    4.使用基礎(chǔ)
    (1).創(chuàng)建新項(xiàng)目(模板)
    進(jìn)入項(xiàng)目所在目錄:
    cvs [ -d $CVSROOT] import [-m log] name VENDOR START
    VENDOR表示開(kāi)發(fā)者的標(biāo)識(shí),START表示起始版本標(biāo)簽。
    如:
    cd eSWITCH
    cvs import eSWITCH v s
    (2).撿出工作拷貝cvs checkout [ -d dir ] module
    局部選項(xiàng)-d表示將拷貝放到目錄dir下,而不是在一個(gè)與module名一樣的目錄下。
    cvs使用文件的時(shí)間戳,所以保持服務(wù)器和客戶端的時(shí)鐘同步是很重要的。
    (3).比較倉(cāng)庫(kù)和拷貝的區(qū)別cvs diff filename
    cvs diff -c filename(使用對(duì)照方式)
    (4).提交工作拷貝cvs commit [-m log] [filename]
    當(dāng)一次提交多個(gè)文件時(shí),這些文件共享同一個(gè)日志信息。
    (5).更新工作拷貝cvs update [ filename ]
    (6).查看日志信息cvs log filename
    (7).版本回退
    方法一:取出舊版本,重新提交。如:
    cvs update
    cvs up –p –r1.2 test.c >test.c
    cvs ci test.c
    方法二:使用join(合并)選項(xiàng)。如:
    cvs up –j 1.3 –j 1.2 test.c
    cvs ci test.c
    把1.3版本與1.2b版本之間的差異補(bǔ)到當(dāng)前1.3版本上,相當(dāng)于從1.3版本上將1.2到1.3之間的變化又減去了。
    (8).添加目錄或文件
    創(chuàng)建一個(gè)目錄或文件后,執(zhí)行:
    cvs add newfile
    對(duì)于文件,還要做提交:
    cvs ci newfile
    (9).刪除文件rm newfile
    cvs remove newfile
    或:
    cvs remove –f newfile
    最后,進(jìn)行提交:
    cvs ci newfile
    (10).刪除目錄
    首先刪除該目錄下所有文件,然后使用update的-P選項(xiàng)刪除目錄:
    cd newdir
    cvs remove –f new.c
    cd ...
    cvs update –P
    執(zhí)行cvs update時(shí),cvs并不會(huì)自動(dòng)取出在工作拷貝創(chuàng)建之后新添加到倉(cāng)庫(kù)的目錄。解決方法是使用update的-d選項(xiàng):
    cvs update –d
    (11).重命名文件
    方法一,先從cvs中刪除舊文件,再添加新文件:
    mv old new
    cvs remove –f old
    cvs ci old
    cvs add new
    cvs ci new
    方法二,直接修改服務(wù)器上的文件,要確保沒(méi)有人訪問(wèn)這個(gè)文件,否則將引起不可預(yù)知的后果:
    cd $CVSROOT/module
    mv old,v new,v
    (12).重命名目錄
    方法一,創(chuàng)建新目錄,將舊目錄下的文件移到新目錄下,刪除舊文件,添加新目錄,添加新文件:
    mkdir newdir
    mv olddir/* newdir
    cvs remove olddir/*
    cvs ci
    cvs add newdir
    cvs ci newdir
    方法二,直接再cvs服務(wù)器倉(cāng)庫(kù)中移動(dòng)目錄:
    cd $CVSROOT/module
    mv olddir newdir

    5.常用命令縮寫
    cvs checkout:cvs co;
    cvs commit:cvs ci;
    cvs update:cvs up;
    cvs status:cvs st;

    6.標(biāo)簽的管理
    (1).創(chuàng)建標(biāo)簽cvs tag tagname
    (2).標(biāo)簽命名
    以字母開(kāi)頭,中間可以含字母、數(shù)字、下劃線、連字符。
    (3).刪除標(biāo)簽cvs tag -d tagname
    (4).重命名標(biāo)簽
    先貼上新標(biāo)簽,再刪除舊標(biāo)簽:
    cvs tag –r tag1 tag2
    cvs tag –d tag1
    (5).修改某個(gè)文件的標(biāo)簽指到別的版本cvs tag –r new-version –F tag1 filename
    如:
    cvs tag –r 1.6 –F tag1 test.c
    (6).查看標(biāo)簽cvs status –v filename
    (7).特定約束標(biāo)簽
    按照日期貼標(biāo)簽:
    cvs rtag –D date tagname module
    按照已經(jīng)版本/標(biāo)簽貼標(biāo)簽:
    cvs rtag –r revision/tag newtag module
    (8).獲取某個(gè)特定版本cvs update –r revison/tag module
    cvs update –D date module
    (9).恢復(fù)到最新版本cvs update –A

    7.版本分支
    (1).分支版本號(hào)
    在x.y版本上的分支編號(hào)依次是x.y.2、x.y.4、x.y.6等等。
    (2).在工作拷貝中創(chuàng)建分支
    取出某一版本的代碼:
    cvs checkout –r tag module
    創(chuàng)建:
    cvs tag –b branch-tag module
    (3).直接在倉(cāng)庫(kù)中創(chuàng)建分支cvs rtag –b –r tag branch-tag module
    (4).訪問(wèn)版本分支
    方法一、撿出:
    cvs checkout –r branch-tag module
    方法二、版本切換:
    cvs update –r branch-tag
    (5).將分支合并到主干
    在主干目錄下,執(zhí)行:
    cvs update –j branch-tag [ filename ]
    每次合并都會(huì)把從分支基部到分支最新版本之間的全部修改都合并到主干中。
    可以指定合并的版本范圍。如:
    cvs up –j 1.1.1.1.6.1 –j rel-20021010-brach test.c
    把分支rel-20021010-brach從1.1.1.1.6.1到最新版本之間的修改合并到主干上。
    進(jìn)行多次反復(fù)合并的一個(gè)技巧是在每次合并之后,將分支再貼上標(biāo)簽,這樣,每次合并時(shí)的分支版本都有標(biāo)簽可以標(biāo)識(shí)。
    (6).將主干合并到分支
    在分支目錄下,執(zhí)行:
    cvs update –j HEAD
    其中HEAD是關(guān)鍵字,表示主干代碼樹(shù)的頭部,也就是全部最新的主干代碼版本。

    8.cvs輸出export
    取出一份沒(méi)有cvs痕跡的源代碼:
    cvs exprot –r tag [ -d dir ] module

    9.清除工作拷貝cvs release –d module

    10.日志管理
    (1).查看詳細(xì)修改記錄cvs annotate [ -r revision/tag | -D date ] [ filename ]
    (2).查看歷史記錄cvs history
    (3).修改日志信息cvs admin –m revsion: “messages” filename
    對(duì)于共享日志,需要對(duì)每個(gè)文件單獨(dú)執(zhí)行上述操作。

    11.關(guān)鍵字?jǐn)U展
    cvs中的關(guān)鍵字用兩個(gè)“$”符號(hào),中間是一個(gè)rcs的特定關(guān)鍵字。常用列表如下:
    $Revision$
    自動(dòng)擴(kuò)展為版本號(hào)。
    $Log$
    累計(jì)日志信息。
    每次更新都進(jìn)行累加,如果太長(zhǎng),可以手工刪除舊的注釋。
    $Author$
    擴(kuò)展為提交版本的用戶的用戶名。
    $Date$
    上一次提交的日期、時(shí)間。
    $Id$
    擴(kuò)展為文件名、版本號(hào)、日期、作者、狀態(tài),如果被鎖定,還有鎖定者的用戶名。
    $Source$
    擴(kuò)展為帶有完整路徑的源代碼文件名。

    12.模塊配置
    (1).定義模塊步驟
    修改模塊文件需要先checkout:
    cvs checkout CVSROOT/modules
    修改完畢提交:
    cvs ci CVSROOT/modules
    (2).語(yǔ)法module-name [ options ] dir [ files …]
    (3).使用舉例
    由project/acctmgmt組成的模塊:
    acctmgmt  project/acctmgmt
    有目錄下的三個(gè)文件組成的模塊:
    acctmgmt  prject/acctmgmt readme install license
    不包含指定目錄下的子目錄doc:
    acctmgmt  !project/acctmgmt/doc project/acctmgmt
    定義別名(有三個(gè)模塊組成):
    acctmgmt –a init mm file
    引用:
    lk & linux_kernle
    (4).模塊選項(xiàng)
    -d name:讓工作拷貝的名字為參數(shù)值而不是模塊名;
    -e prog:文件被輸出(exprot)時(shí)執(zhí)行的程序;
    -i prog:提交模塊時(shí)執(zhí)行的程序;
    -o prog:撿出模塊時(shí)執(zhí)行的程序;
    -s status:給模塊定義一個(gè)狀態(tài);

    13.二進(jìn)制文件配置
    在cvs中保存二進(jìn)制文件,要使用“-kb”選項(xiàng)來(lái)禁止cvs對(duì)文件進(jìn)行加工。該選項(xiàng)只需要在cvs add時(shí)使用!-kb”是一個(gè)Sticky Option。
    (1).cvswrappers
    通過(guò)配置$CVSROOT/CVSROOT/cvswrappers文件,使cvs根據(jù)文件擴(kuò)展名來(lái)區(qū)別二進(jìn)制文件。
    (2).修改方法
    同modules的方式。
    (3).語(yǔ)法wildcard [ option val ] [ option val ] …
    (4).選項(xiàng)
    -m MERGE|COPY:更新方式,MERGE表示更新時(shí)進(jìn)行版本間差異的合并,COPY表示直接拷貝,不進(jìn)行合并處理。
    -k ‘b’|’o’|’kkv’:關(guān)鍵字?jǐn)U展,’b’表示二進(jìn)制;’o’表示“off”,不進(jìn)行關(guān)鍵字?jǐn)U展,但它仍進(jìn)行不同平臺(tái)之間的回車、換行轉(zhuǎn)換;’kkv’表示擴(kuò)展關(guān)鍵字的值。
    (5).使用舉例*.gif –k ‘b’
    *.jpg –k ‘b’
    *.doc –k ‘b’
    *.bmp –k ‘b’
    *.mpp –k ‘b’
    *.xls –k ‘b’
    *.ppt –k ‘b’

    14.觸發(fā)器文件
    (1).commitinfo
    定義每次提交發(fā)生時(shí)執(zhí)行的程序。被提交的文件名作為程序的參數(shù)。
    (2).loginfo
    定義在提交操作完成之前被觸發(fā)的程序,用戶提交時(shí)寫的日志信息傳送到程序的標(biāo)準(zhǔn)輸入。
    (3).verifymsg
    提交時(shí),日志信息送到定義的程序的標(biāo)準(zhǔn)輸入,程序返回0則進(jìn)行提交,返回非0則提交被終止。
    (4).rcsinfo
    定義日志文件的模板文件。
    (5).taginfo
    定義貼標(biāo)簽時(shí)執(zhí)行的操作,標(biāo)簽字符串、標(biāo)簽操作、倉(cāng)庫(kù)、文件版本作為參數(shù)傳遞給程序。

    15.其他配置文件
    (1).checkoutlist
    指定自定義的配置文件,使其置于cvs的版本管理之下。
    (2).cvsignore
    指定被cvs忽略的文件類別。
    缺省忽略的文件類型如下:
    RCS SCCS CVS CVS.adm
    RCSLOG cvslog.*
    Tags TAGS
    .make.state .nse_depinfo
    *~ #* .#* ,* _$* *.$
    *.old *.bak *.BAK *.orig *.rej *.del-*
    *.a *.olb *.o *.obj *.so *.exe
    *.Z *.elc *.ln
    core

    [/url]


    本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):[url]http://blog.chinaunix.net/u1/33950/showart_450064.html
  • 您需要登錄后才可以回帖 登錄 | 注冊(cè)

    本版積分規(guī)則 發(fā)表回復(fù)

      

    北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年舉報(bào)專區(qū)
    中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
    感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP