• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            牽牛散步
            仗劍走天涯

            一、安裝

            1 linux 安裝好后已經(jīng)裝好了 cvs ,可用 rpm -qa|grep cvs 查看。

            如果沒(méi)有安裝你可以在 Redhat 2 張光盤上找到,另外你也可以在網(wǎng)上下載到最新的 rpm 包。很容易找,其實(shí)不存在什么 linux 版本。

            ?

            2 、創(chuàng)建 cvs 使用的目錄: mkdir /home/mycvstest

            ?

            3 、創(chuàng)建 cvs 使用的用戶和組

            groupadd cvs

            useradd -g cvs -G cvs –d /home/mycvstest cvs

            passwd cvs

            ?

            4 、修改 mycvstest 的用戶: chown -R cvs:cvs /home/mycvstest

            ??????????????????????? chmod 755 /home/mycvstest

            ?

            5 、切換用戶: su cvs

            ?

            6 、創(chuàng)建源碼倉(cāng)庫(kù): mkdir /home/mycvstest/drcls drclgw

            ?

            7 、初始化源碼倉(cāng)庫(kù): cvs -d /home/mycvstest/drcls init

            ?????????????????? cvs -d /home/mycvstest/drclgw init

            ??????????????? ???chmod 755 /home/mycvstest/drcls drclgw

            初始化后可以在目錄下見到新增加的 CVSROOT 目錄, cvs 所有的控制信息都在這個(gè)目錄里。

            ?

            8 、退回到 root 用戶,建立 CVS 服務(wù)啟動(dòng)文件, CVS 使用 xinetd 方式啟動(dòng)。 ?

            ?

            vi /etc/xinetd.d/cvspserver

            ?

            service cvspserver

            {

            disable = no

            flags = REUSE

            socket_type = stream

            wait = no

            user = root

            server= /usr/bin/cvs

            server_args= -f --allow-root=/home/mycvstest/drcls

            --allow-root=/home/mycvstest/drclgw pserver

            log_on_failure += USERID

            }

            ?

            注:紅色的參數(shù)很重要,由于 xinetd server_args 長(zhǎng)度限制 , 當(dāng)你想運(yùn)行很多的單個(gè)倉(cāng)庫(kù)的時(shí)候 ( 就是有很多個(gè)模塊時(shí),比如 drcrgw), 但在 server_args 中無(wú)法輸入這么多單個(gè)的倉(cāng)庫(kù), 可以采取以下方式解決(現(xiàn)在實(shí)驗(yàn)室 90 上就用的這種方式):

            ?

            #> vi cvspserver

            ?

            service cvspserver

            {

            ??????? disable = no

            ??????? socket_type = stream

            ??????? wait = no

            ??????? user = root

            ??????? server = /usr/bin/cvs.run

            ??????? server_args =""

            }

            編寫 cvs.run 腳本

            vi /cvsroot/cvs.run

            #!/bin/bash

            /usr/bin/cvs -f

            --allow-root=/home/mycvstest/drcls

            --allow-root= /home/mycvstest/drclgw

            pserver

            ?

            chmod a+x cvs.run

            ?

            9 、加入 cvs 服務(wù):

            ?

            #>vi /etc/services

            ?

            cvspserver 2401/tcp #pserver cvs service

            cvspserver 2401/udp #pserver cvs service

            ?

            10 、啟動(dòng) cvs 服務(wù):

            ?

            #> service xinetd restart

            ?

            11 、檢查 cvspserver 服務(wù)是否已經(jīng)啟動(dòng):

            ?

            #> netstat -l |grep cvspserver

            應(yīng)該有如下結(jié)果:

            tcp 0 0 *:cvspserver *:* LISTEN

            ?

            ?

            二、使用和管理

            1 、創(chuàng)建 cvs 用戶:

            cd /home/mycvstest/drcls/CVSROOT

            htpasswd –c passwd zhangcan (htpasswd 命令要安裝 apache 后才有,此命令創(chuàng)建一個(gè) passwd 文件,里面內(nèi)容為新建 cvs 用戶的用戶名和密碼 )

            vi passwd ( 在新建的用戶后手工加入用戶屬于的組 cvs)

            例如: zhangcan:dgeagasdgasdr:cvs? 藍(lán)色字符串表示加密后的密碼。

            ?

            2 、賦予用戶讀寫權(quán)限

            手工在 CVSROOT 目錄中建立 readers writers 文件。 Readers 文件中的用戶只有讀權(quán)限, writers 中的用戶具有讀寫權(quán)限,一行只寫一個(gè)用戶名。

            ?

            3 、登錄 cvs

            在客戶機(jī) Linux 下面用命令:

            export CVSROOT=:pserver:zhangcan@192.168.100.197:/home/mycvstest/drcls

            cvs login

            ?

            4 、向源碼倉(cāng)庫(kù)中導(dǎo)入源碼

            首先進(jìn)入你本機(jī)上安裝源碼的目錄,然后使用以下命令:

            cvs import –m “this is my soure code” drcls NISEC test start

            -m 表示在 cvs 歷史文件顯示的消息, drclst 為你指定的源碼目錄名, NISEC 為供應(yīng)商標(biāo)簽, test 為發(fā)行標(biāo)簽(這兩項(xiàng)可以不要), start 必須要。

            ?

            5 checkout 出需要修改的源代碼

            cvs co drcls? 在你的當(dāng)前目錄下會(huì)發(fā)現(xiàn)多了一個(gè) drcls 目錄,要修改的源碼都在里面

            co checkout 的簡(jiǎn)寫

            ?

            6 、提交修改

            假設(shè)剛才對(duì) readme 文件進(jìn)行了修改,現(xiàn)在提交

            cvs commit –m “modify a few of wrong words”? readme

            命令執(zhí)行后會(huì)提示版本已經(jīng)改為 1.2

            ?

            7 checkout 出以前的版本

            如果想檢出以前的版本可以用以下命令:

            cvs co –r 1.1 drcls/readme 或者 cvs –D yesterday drcls/readme

            ?

            8 、刪除文件

            若想從源碼倉(cāng)庫(kù)中刪除 readme 文件,首先應(yīng)把客戶機(jī)工作目錄中的 readme 文件刪除,然后使用 cvs 的刪除命令,最后提交刪除,流程如下:

            rm readme

            cvs rm readme

            cvs commit –m “ 現(xiàn)在不需要這個(gè) readme 文件 ? readme

            如果系統(tǒng)類似錯(cuò)誤: cannot remove file `INSTALL' which has a numeric sticky tag of `1.1'

            可以用命令 cvs update –A readme 后再刪除文件。


            以上為火山哥提供的,以下是我添加的部份:
            1.在reader和writes文件中添加使用用戶時(shí)要注意,當(dāng)在reader中添加了某一只讀用戶后就不要在writers中添加此用戶,如果在兩個(gè)文件中都添加同一用戶的話,在使用cvs時(shí),CVS服務(wù)器會(huì)把此用戶當(dāng)做只讀用戶看待,當(dāng)使用一些命令如import時(shí)會(huì)產(chǎn)生權(quán)限問(wèn)題,以下是linux關(guān)于此問(wèn)題的說(shuō)明:
            /* This command has the potential to modify the repository, so
            ? ?* we check if the user have permission to do that.
            ? ?*
            ? ?* (Only relevant for remote users -- local users can do
            ? ?* whatever normal Unix file permissions allow them to do.)
            ? ?*
            ? ?* The decision method:
            ? ?*
            ? ?*? ? If $CVSROOT/CVSADMROOT_READERS exists and user is listed
            ? ?*? ? in it, then read-only access for user.
            ? ?*
            ? ?*? ? Or if $CVSROOT/CVSADMROOT_WRITERS exists and user NOT
            ? ?*? ? listed in it, then also read-only access for user.
            ? ?*
            ? ?*? ? Else read-write access for user.
            ? ?*/

            posted on 2006-11-28 16:18 牽牛散步 閱讀(2031) 評(píng)論(3)  編輯 收藏 引用 所屬分類: C++學(xué)習(xí)資料
            Comments
            • # re: CVS服務(wù)器的相關(guān)配置及使用[ Server of CVS Configure and Usage for linux]
              canyon
              Posted @ 2006-11-29 11:46
              寫的太好了,不頂不行啊!  回復(fù)  更多評(píng)論   
            • # re: CVS服務(wù)器的相關(guān)配置及使用[ Server of CVS Configure and Usage for linux]---注,此教程是"火山哥"提供的:-)[未登錄](méi)
              牽牛散步
              Posted @ 2007-07-09 13:14
              項(xiàng)目中添加二進(jìn)制文件進(jìn)CVS倉(cāng)庫(kù)需要注意:
              添加文件 創(chuàng)建好新文件后,比如:touch new_file cvs add new_file 注意:對(duì)于圖片,Word文檔等非純文本的項(xiàng)目,需要使用cvs add -kb選項(xiàng)按2進(jìn)制文件方式導(dǎo)入(k表示擴(kuò)展選項(xiàng),b表示binary),否則有可能出現(xiàn)文件被破壞的情況 比如: cvs add -kb new_file.gif cvs add -kb readme.doc  回復(fù)  更多評(píng)論   
            • # re: CVS服務(wù)器的相關(guān)配置及使用[ Server of CVS Configure and Usage for linux]---注,此教程是"火山哥"提供的:-)[未登錄](méi)
              豬豬
              Posted @ 2007-10-15 11:26
              謝謝,剛好遇到了下面這個(gè)問(wèn)題,很受用。
              如果系統(tǒng)類似錯(cuò)誤: cannot remove file `INSTALL' which has a numeric sticky tag of `1.1'   回復(fù)  更多評(píng)論   
             
            麻豆久久久9性大片| 久久精品国产亚洲网站| 久久91精品综合国产首页| 国产精品美女久久久| 人妻无码αv中文字幕久久琪琪布| 欧美麻豆久久久久久中文| 久久国产视屏| 伊人久久五月天| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 国产精品无码久久综合 | 久久一区二区三区免费| 久久精品成人免费观看97| 精品久久久久一区二区三区 | 精品午夜久久福利大片| 国产亚洲欧美成人久久片| 国产激情久久久久影院| 久久露脸国产精品| 久久妇女高潮几次MBA| 99久久99久久精品免费看蜜桃| 麻豆AV一区二区三区久久| 国内精品久久久久影院免费| 秋霞久久国产精品电影院| 久久久久久国产精品美女| 久久99热这里只频精品6| .精品久久久麻豆国产精品| 久久精品亚洲欧美日韩久久| 一本色道久久综合| 精品久久久久久国产| 欧美久久天天综合香蕉伊| 久久亚洲精品成人AV| 成人精品一区二区久久久| 影音先锋女人AV鲁色资源网久久| 久久国产精品99国产精| 久久久精品视频免费观看| 麻豆AV一区二区三区久久 | 久久精品成人免费观看97| 伊人久久大香线蕉综合Av| 国产成人久久777777| 久久WWW免费人成一看片| 久久国产成人精品国产成人亚洲| 人妻精品久久久久中文字幕69|