青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評論-262  文章-1  trackbacks-0

    CVS 是目前常用的版本控制和軟件配置系統(tǒng). 其開源性在其普及的過程中功不可沒, 然而正因?yàn)殚_源造成了其易用性較差. 往往一個(gè)功能需要通過幾個(gè)看似不相干的操作配合才能進(jìn)行. Windows 下 CVS 的多帳戶配置正是這樣一個(gè)相當(dāng)重要的, 但很不好操作的功能. 幾個(gè)難點(diǎn)如下:

    CVS 源自 Unix 系統(tǒng), 其 Windows 的移植版并沒有服務(wù)器功能. 在 Windows 下一般采用安裝 CVSNT 這個(gè)軟件來建立 CVS Repository, 但 CVSNT 的操作方法和原始的 CVS 略微不同.

    CVS 本身是命令行形式, 其配置過程比較繁雜.

    CVS 的多帳戶配置需要手動修改 Repository 的 CVSROOT 文件夾里的文件, 缺乏統(tǒng)一的界面.

    在安裝了 CVSNT 服務(wù)器之后, 默認(rèn)的用戶就是建立 Repository 的 Windows 系統(tǒng)的登陸帳戶, 但在多人開發(fā)的時(shí)候, 肯定沒人希望大家都使用同一個(gè)名字來 Commit; 更重要的是, 我們可能需要配置開發(fā)人員的權(quán)限, 例如限制某些人只能看程序, 而某些人可以Commit程序, 某些人可以添加新的 Module.

    以下是詳細(xì)的步驟, 環(huán)境是 CVSNT 2.5.04 (Build 3236) + TortoiseCVS 1.8.25


===============================================================================

    在繼續(xù)往下進(jìn)行之前, 有兩件事非常重要.

1.  將用戶帳戶切換到 administrator 帳戶, 一定!
    如果, 用戶的系統(tǒng)是 XP 及以后系統(tǒng), 且 administrator 帳戶不可見.
    則修改注冊表鍵, 方法為 ( 單擊 "開始->運(yùn)行", 輸入 regedit 后回車, 打開注冊表編輯器,
    依次展開 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" 分支,
    將右邊的 Administrator 的值 (如果沒有就創(chuàng)建一個(gè), 為 DWORD 類型) 改為 1,
    即可讓 Administrator 賬戶出現(xiàn)在登錄的歡迎屏幕上.

2.  將 C:\Program Files\CVSNT\cvslock.exe 以及 C:\Program Files\CVSNT\cvsservice.exe 進(jìn)程添加進(jìn) windows 防火墻的例外列表.
    方法為, "開始" -> "控制面板" -> "windows 防火墻" -> "例外" 選項(xiàng)卡 -> "添加程序"

===============================================================================


現(xiàn)在, 我們繼續(xù)進(jìn)行.

    1. 初始使用 Windows 的管理員 administrator 賬號和密碼登錄 Windows 桌面. 這時(shí)如果 administrator 賬號沒有密碼, 要用 "控制面板" 的 "用戶帳戶" 程序?yàn)?administrator 設(shè)置一個(gè)密碼.
       運(yùn)行 "CVSNT Control Panel" 程序, 在主界面上, 切換到 "Repository configuration" 選項(xiàng)卡, 點(diǎn)擊 "Add" 按鈕, 在彈出的 "Repository Settings" 對話框內(nèi), 在 Location 編輯框內(nèi)輸入將要?jiǎng)?chuàng)建的 Repository 的路徑, 即實(shí)際文件夾路徑; 修改 Name 編輯框內(nèi)的名字, 如 /myproj , 這是顯示名稱; 如 [-- 圖 01 --], 點(diǎn)擊 OK 完成創(chuàng)建 Repository 步驟.


    2. 為了進(jìn)行多用戶配置, 必須修改 Repository 的 CVSROOT 目錄的幾個(gè)文件.
       首先在客戶端將 :pserver:administrator@1.2.3.4/myproj 設(shè)為 CVSROOT 環(huán)境變量 (請注意區(qū)分 CVSROOT 目錄和 CVSROOT 環(huán)境變量). 在命令行 CMD 環(huán)境下輸入

set cvsroot=:pserver:administrator@127.0.0.1/myproj
       后回車. 然后用 administrator 登錄到 CVS, 就是輸入
cvs login
       后回車, 然后在 CVS Password: 處輸入密碼(也就是 windows 的 Administrator 賬號的登錄密碼). 

       然后創(chuàng)建一個(gè)檢出 repository 內(nèi)容的本地文件夾, 如 C:\xxxOut; 命令行如下:

cd c:
cd \
md xxxOut
cd xxxOut
       最后 Check Out 出此 CVSROOT 目錄. 命令如下所示:
cvs co CVSROOT
 

    3.  再次打開 "CVSNT Control Panel" 程序, 在主界面上切換到 "Server Settings" 頁面, 為 "Run as" 選擇 "administrator" 帳戶, 如圖 [-- 圖 02 --], 然后點(diǎn)擊確定退出.


    4.  為這個(gè) repository 添加賬號. 比如 zhang.san, 使用下列命令 

cvs passwd -a zhang.san
// 輸入 zhang.san 的密碼
// 再次輸入 zhang.san 的密碼
        通過這種方法, 可以添加其他賬號.

    5.  修改讀寫權(quán)限.
        CVS 有兩種讀寫權(quán)限的設(shè)置方法, 一是粗粒度的, 一是細(xì)粒度的. 只有 CVS 管理員才能進(jìn)行訪問權(quán)限的修改.
       
        粗粒度的方法是在 CVSROOT 中添加 readers 或者 writers 文件來實(shí)現(xiàn).
用資源管理器打開 c:\xxxOut\CVSROOT 文件夾.在這個(gè)文件夾內(nèi)新建兩個(gè)文件 readers 和 writers 兩個(gè)文件, 注意不能有擴(kuò)展名. 用記事本打開它們編輯.
        在 readers 里添加的任何一個(gè)帳戶對當(dāng)前庫只擁有讀取權(quán)限, 添加格式是每行一個(gè)帳戶名. 例如, 我們在客戶端的 CVSROOT 目錄里添加 readers 文件, 將之前的一個(gè)新建帳戶 anonymous 放到里面, 然后 commit 這個(gè) readers 文件到服務(wù)器. anonymous 就不能進(jìn)行 commit 了. 實(shí)際的測試結(jié)果是在使用 anonymous 登錄之后執(zhí)行 commit 指令, 系統(tǒng)會報(bào)告正常執(zhí)行完畢. 但實(shí)際上, 沒有任何東西被 commit, 暴露了 CVS 在人機(jī)界面上的不完善.
        writers 文件的操作 readers 完全一樣. 如果一個(gè)帳戶名被同時(shí)寫到兩個(gè)文件里, 此帳戶只有只讀權(quán)限.
        然后將這兩個(gè)文件提交到服務(wù)器.
cd c:\xxxOut\CVSROOT
cvs add -m 
"" readers
cvs add -m 
"" writers
cvs commit -m 
""
       
        細(xì)粒度的方法是使用 chacl 命令. 例如 /myproj 里有 3 個(gè)工程, project1, project2, project3. 使用命令:
cvs chacl -u user1 -a none -d project1,project2,project3
cvs chacl -u user1 -a all -d project1
cvs chacl -u user1 -a read
,write -d project2
cvs chacl -u user1 -a read -d project3 

        可以讓 user1 擁有對 project1 目錄的完全控制權(quán), 對 project2 目錄的讀寫權(quán), 和對 project3 目錄的只讀權(quán).

        第一條命令首先刪除 user1 的所有權(quán)限, 在隨后的 3 條命令里分別設(shè)置了 3 個(gè)不同目錄權(quán)限.


    6.  使用帳戶組來組織帳戶.
   
        在客戶端的 CVSROOT 目錄下添加一個(gè)叫 group 的文件. 此文件的格式是:

        組名1:用戶名1,用戶名2,用戶名3,……
        組名2:用戶名5,用戶名7,……
        ……

        修改完 group 文件后 commit 它, 然后通過 chacl 命令可以實(shí)現(xiàn)組權(quán)限的修改.

另一種方法(不使用 administrator 賬號):
   3.  在服務(wù)器端為 Windows 添加一個(gè)專門用于 CVS 操作的 Windows 帳戶.

        所有的 CVS 帳戶都要映射到這個(gè) Windows 帳戶上進(jìn)行實(shí)際的操作.
        雖然很多資料并沒有提到需要建立 Windows 帳戶
, 但我在實(shí)驗(yàn)中發(fā)現(xiàn)沒有這種帳戶,
        CVS 在后邊執(zhí)行任何操作時(shí)都會報(bào)告沒有此帳戶的錯(cuò)誤.
        假如這個(gè)新的帳戶叫做 cvsuser. 使用 Windows 命令

        net user cvsuser cvsuserpassword /Add

        可以添加此帳戶. 在添加完成之后
, 一定要記得將 /myproj 在服務(wù)器上的
        實(shí)際文件夾的權(quán)限里添加 cvsuser 的讀寫權(quán)限
, 否則到最后任何映射到
        cvsuser 的 CVS 帳戶都會因?yàn)闆]有寫權(quán)限無法進(jìn)行正常的 commit 操作.
        首先在服務(wù)器上的資源管理器里的 
"工具" 菜單里找到 "文件夾選項(xiàng)" ,
        在隨后出現(xiàn)的 
"查看" 選項(xiàng)卡里找到 "使用簡單文件夾共享" 的項(xiàng)目,
        取消掉前面的勾
, 單擊確定.
        然后右擊 /myproj 所在文件夾
, 單擊 "屬性". 在隨后打開的對話框里可以看到 "安全" 選項(xiàng)卡.
        我們需要在這里添加 cvsuser 的讀寫權(quán)限.

    
4.  為 CVS 添加自己的帳戶. 通過使用命令 cvs passwd 我們可以添加任意多個(gè) CVS 帳戶
        (當(dāng)然
, 只是針對當(dāng)前的 Repository). 所有的帳戶信息會被保存在 CVSROOT 目錄的 passwd 文件當(dāng)中.
        然而這個(gè)文件是不能 Check Out 出來的
, 只能在服務(wù)器那里看到它, 并且其保存的密碼信息是被加過密的.
        我們可以添加 cvsadmin
, user1, user2, anonymous 等用戶. 例如添加 cvsadmin 時(shí)的命令是:

        cvs passwd -a -r cvsuser cvsadmin

        // 輸入 cvsadmin 的密碼
        // 再次輸入 cvsadmin 的密碼

        這樣就新添了 cvsadmin 帳戶
, 并將其映射到 Windows 帳戶 cvsuser 上 (-a 表示添加一個(gè)賬戶,
        -r 表示影射到操作系統(tǒng)的帳戶中. 我期望將 cvsadmin 作為以后 /myproj 的管理員.
        這一點(diǎn)十分重要
, 如果這時(shí)候不設(shè)置的話, 再將 CVS 改為 "僅使用 CVS 帳戶校驗(yàn)?zāi)J?/span>"
        之后就再也沒有機(jī)會添加管理員了 (因?yàn)橹挥泄芾韱T可以看得到和操作 CVSROOT 目錄).

    
5.  設(shè)定 cvsadmin 為 CVS 管理員.
        在客戶端的 CVSROOT 目錄下新添一個(gè)名為 admin 的文件.
        在里面將每一個(gè)想要升為管理員的 CVS 帳戶的帳戶名寫到文件中
, 每行一個(gè)帳戶名.
        當(dāng)然 admin 文件只有放到服務(wù)器
, cvsadmin 的升遷才能生效.
        但是
, 僅僅是這么將 admin 文件提交上去是不能起作用的.
        在提交它之前
, 必須將 admin 的信息添加到 checkoutlist 文件中.
        checkoutlist 的格式在文件中有介紹
, 是 "空格 文件名 空格 出錯(cuò)信息 回車符".
        我們在里面添加一條記錄:

         admin adminerror feedom.net

        特別注意 admin 前面一定要留一個(gè)空格.

    
6.  當(dāng)新的 CVS 管理員和帳戶信息都準(zhǔn)備好后, 就要將 /myproj 的帳戶校驗(yàn)?zāi)J?br>        從 "操作系統(tǒng)集成校驗(yàn)?zāi)J?/span>" 修改為 "僅使用 CVS 帳戶校驗(yàn)" 模式.
        這么做可以避免為了在 CVS 中使用多用戶時(shí)需要操作 Windows 帳戶的麻煩.
        這個(gè)設(shè)置的地方在 CVSROOT 目錄中的 config 文件.
        打開客戶端的 config 文件
, 將里面的 #SystemAuth=yes 改為 SystemAuth=no
        (注意將 # 刪除后
, SystemAuth前不能有空格). 修改后保存 config 文件.

    
7. 提交 CVSROOT 里的所有更新到服務(wù)器, 我們的設(shè)置就生效了. 命令如下所示:

        cd CVSROOT
        cvs add -m 
"" admin
        cvs commit -m 
""

        不過在提交之前
, 你也許想先把 CVSROOT 的 owner 從原來的 administrator 修改為 cvsadmin.
        使用命令 cvs chown 可以做到這一點(diǎn). 在提交了 CVSROOT 目錄后
, 校驗(yàn)?zāi)J骄土⒖谈淖兞?/span>, cvsadmin 也同時(shí)開始生效.
        這時(shí)
, 用之前的 administrator 就無法使用 CVS 了. 我們改用 cvsadmin 帳戶重新登陸, 繼續(xù)下面的操作.


    
8.  修改讀寫權(quán)限. (同前, 從略)

    
9.  使用帳戶組來組織帳戶.(同前, 從略)

posted on 2009-03-26 19:22 free2000fly 閱讀(3022) 評論(2)  編輯 收藏 引用

評論:
# re: Windows 下 cvs 服務(wù)器端配置 2009-03-27 16:51 | 路人甲
man, cvs is too old, even svn is kinda old. it's time to try git!  回復(fù)  更多評論
  
# re: Windows 下 cvs 服務(wù)器端配置 2009-03-27 16:59 | free2000fly
@路人甲
我知道很老, 但遷移到新系統(tǒng)成本很高, 甚至不可遷移. 就這樣爛下去吧.
  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美本精品男人aⅴ天堂| 欧美精品在线网站| 国内精品久久久久伊人av| 性欧美大战久久久久久久免费观看| 99精品国产99久久久久久福利| 欧美日韩调教| 性伦欧美刺激片在线观看| 亚洲欧美日韩一区二区在线| 国产欧美91| 麻豆精品视频在线观看视频| 久久免费黄色| 亚洲日本久久| 中日韩在线视频| 国产亚洲成年网址在线观看| 免费在线成人av| 欧美日韩精品一区二区三区四区 | 久久综合国产精品| 亚洲精品一二三| 亚洲午夜视频在线| 国产一二精品视频| 亚洲电影激情视频网站| 欧美日韩hd| 久久国产精品电影| 蜜臀99久久精品久久久久久软件| 亚洲一级黄色片| 久久九九热re6这里有精品| 亚洲国产一区二区精品专区| 亚洲午夜激情网页| 亚洲第一搞黄网站| 亚洲视频网在线直播| 国产亚洲欧美一区二区| 亚洲高清影视| 国产亚洲精品资源在线26u| 亚洲春色另类小说| 国产亚洲一区二区三区在线观看| 亚洲高清123| 国模精品娜娜一二三区| 亚洲乱码国产乱码精品精天堂| 国产三级精品三级| 99这里只有精品| 91久久精品日日躁夜夜躁欧美| 亚洲欧美日韩国产| 99国产精品国产精品久久| 欧美怡红院视频| 亚洲综合电影| 欧美日韩成人综合在线一区二区 | 嫩模写真一区二区三区三州| 欧美日韩少妇| 亚洲电影免费观看高清完整版在线 | 亚洲免费在线视频一区 二区| 亚洲欧洲在线播放| 久久在线免费观看| 久久亚洲精品中文字幕冲田杏梨| 国产精品免费aⅴ片在线观看| 亚洲欧洲精品一区二区| 在线观看国产欧美| 久久精品一区二区三区不卡牛牛 | 午夜精品在线观看| 欧美精品一区二区三区蜜桃| 欧美福利一区| 亚洲黄色在线看| 久久久久国产一区二区三区四区 | 欧美一区免费| 国产精品成人观看视频免费| 亚洲人永久免费| 亚洲精品之草原avav久久| 蜜桃av噜噜一区二区三区| 欧美91大片| 亚洲第一在线视频| 欧美不卡视频| 亚洲片在线资源| 一区二区免费在线观看| 欧美激情视频一区二区三区免费| 亚洲国产小视频在线观看| 亚洲精品欧洲| 欧美日韩日韩| 亚洲一区高清| 久久精品国产久精国产爱| 精品99视频| 免费亚洲一区二区| 亚洲久久视频| 欧美亚洲专区| 黄色亚洲大片免费在线观看| 久久av资源网| 欧美丰满高潮xxxx喷水动漫| 亚洲精品影院| 国产精品久久久久久久久免费樱桃| 亚洲视频综合在线| 久久精品五月婷婷| 亚洲国产精品t66y| 欧美日韩免费一区二区三区| 亚洲视屏一区| 女仆av观看一区| 亚洲天堂网站在线观看视频| 国产精品视频999| 久久视频在线视频| 日韩视频专区| 久热国产精品视频| 在线一区观看| 国产一区二区三区久久悠悠色av| 另类专区欧美制服同性| 一区二区三区精品视频| 久久免费视频这里只有精品| 日韩手机在线导航| 国产一区二区高清| 欧美黄污视频| 久久都是精品| 99国产精品久久久久老师| 久久国产精品久久久久久电车| 亚洲欧洲日夜超级视频| 国产日韩三区| 欧美久久久久久蜜桃| 久久国内精品视频| 一本在线高清不卡dvd| 蜜桃久久av| 久久爱另类一区二区小说| 亚洲六月丁香色婷婷综合久久| 国产精品自拍视频| 欧美日韩精品久久久| 久久一二三国产| 午夜激情久久久| 在线亚洲欧美视频| 免费成人高清视频| 香蕉成人伊视频在线观看| 亚洲精品小视频| 亚洲国产精品尤物yw在线观看| 国产精品视频yy9099| 欧美日韩免费观看一区三区| 欧美freesex交免费视频| 欧美在线日韩精品| 亚洲一区久久久| 99国产精品视频免费观看一公开 | 欧美成人午夜影院| 久久琪琪电影院| 亚洲欧美在线x视频| 亚洲一区一卡| 亚洲一级电影| 一区二区三区日韩欧美精品| 亚洲精品中文字幕女同| 亚洲日本成人女熟在线观看| 亚洲高清在线| 亚洲风情亚aⅴ在线发布| 一区二区在线免费观看| 国产综合色一区二区三区| 国产原创一区二区| 国内成+人亚洲| 国内精品伊人久久久久av影院| 国产精品福利久久久| 欧美日韩午夜在线视频| 欧美日韩喷水| 国产精品电影在线观看| 国产精品久久久久一区| 国产精品国产自产拍高清av王其| 国产精品久久久久av| 国产精品毛片a∨一区二区三区|国| 国产精品久久999| 国产精品成人一区二区| 国产毛片一区| 尹人成人综合网| 亚洲人午夜精品| 亚洲一区二区三区精品在线| 亚洲欧美另类中文字幕| 久久国内精品视频| 麻豆91精品| 91久久国产自产拍夜夜嗨| 在线亚洲成人| 欧美诱惑福利视频| 欧美3dxxxxhd| 国产精品美女诱惑| 亚洲高清视频的网址| 夜夜爽av福利精品导航| 亚洲欧美一区二区在线观看| 久久乐国产精品| 亚洲激情第一区| 亚洲天堂偷拍| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩调教| 激情欧美日韩一区| 亚洲色无码播放| 久久久久久久波多野高潮日日| 亚洲国产精品va在线观看黑人| 亚洲一级高清| 麻豆精品视频在线| 国产精品剧情在线亚洲| 亚洲高清在线观看一区| 亚洲一区欧美二区| 猛男gaygay欧美视频| 亚洲视频大全| 欧美/亚洲一区| 国产日韩亚洲欧美精品| 亚洲精品婷婷| 久久久免费精品视频| 99香蕉国产精品偷在线观看| 欧美一区二区三区四区夜夜大片| 欧美精品亚洲| 91久久综合| 久久综合色综合88| 亚洲一区二区三区影院| 欧美日韩国产成人精品| 樱花yy私人影院亚洲|