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

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

    CVS 是目前常用的版本控制和軟件配置系統. 其開源性在其普及的過程中功不可沒, 然而正因為開源造成了其易用性較差. 往往一個功能需要通過幾個看似不相干的操作配合才能進行. Windows 下 CVS 的多帳戶配置正是這樣一個相當重要的, 但很不好操作的功能. 幾個難點如下:

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

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

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

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

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


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

    在繼續往下進行之前, 有兩件事非常重要.

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

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

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


現在, 我們繼續進行.

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


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

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

       然后創建一個檢出 repository 內容的本地文件夾, 如 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 --], 然后點擊確定退出.


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

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

    5.  修改讀寫權限.
        CVS 有兩種讀寫權限的設置方法, 一是粗粒度的, 一是細粒度的. 只有 CVS 管理員才能進行訪問權限的修改.
       
        粗粒度的方法是在 CVSROOT 中添加 readers 或者 writers 文件來實現.
用資源管理器打開 c:\xxxOut\CVSROOT 文件夾.在這個文件夾內新建兩個文件 readers 和 writers 兩個文件, 注意不能有擴展名. 用記事本打開它們編輯.
        在 readers 里添加的任何一個帳戶對當前庫只擁有讀取權限, 添加格式是每行一個帳戶名. 例如, 我們在客戶端的 CVSROOT 目錄里添加 readers 文件, 將之前的一個新建帳戶 anonymous 放到里面, 然后 commit 這個 readers 文件到服務器. anonymous 就不能進行 commit 了. 實際的測試結果是在使用 anonymous 登錄之后執行 commit 指令, 系統會報告正常執行完畢. 但實際上, 沒有任何東西被 commit, 暴露了 CVS 在人機界面上的不完善.
        writers 文件的操作 readers 完全一樣. 如果一個帳戶名被同時寫到兩個文件里, 此帳戶只有只讀權限.
        然后將這兩個文件提交到服務器.
cd c:\xxxOut\CVSROOT
cvs add -m 
"" readers
cvs add -m 
"" writers
cvs commit -m 
""
       
        細粒度的方法是使用 chacl 命令. 例如 /myproj 里有 3 個工程, 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 目錄的完全控制權, 對 project2 目錄的讀寫權, 和對 project3 目錄的只讀權.

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


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

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

        修改完 group 文件后 commit 它, 然后通過 chacl 命令可以實現組權限的修改.

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

        所有的 CVS 帳戶都要映射到這個 Windows 帳戶上進行實際的操作.
        雖然很多資料并沒有提到需要建立 Windows 帳戶
, 但我在實驗中發現沒有這種帳戶,
        CVS 在后邊執行任何操作時都會報告沒有此帳戶的錯誤.
        假如這個新的帳戶叫做 cvsuser. 使用 Windows 命令

        net user cvsuser cvsuserpassword /Add

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

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

        cvs passwd -a -r cvsuser cvsadmin

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

        這樣就新添了 cvsadmin 帳戶
, 并將其映射到 Windows 帳戶 cvsuser 上 (-a 表示添加一個賬戶,
        -r 表示影射到操作系統的帳戶中. 我期望將 cvsadmin 作為以后 /myproj 的管理員.
        這一點十分重要
, 如果這時候不設置的話, 再將 CVS 改為 "僅使用 CVS 帳戶校驗模式"
        之后就再也沒有機會添加管理員了 (因為只有管理員可以看得到和操作 CVSROOT 目錄).

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

         admin adminerror feedom.net

        特別注意 admin 前面一定要留一個空格.

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

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

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

        不過在提交之前
, 你也許想先把 CVSROOT 的 owner 從原來的 administrator 修改為 cvsadmin.
        使用命令 cvs chown 可以做到這一點. 在提交了 CVSROOT 目錄后
, 校驗模式就立刻改變了, cvsadmin 也同時開始生效.
        這時
, 用之前的 administrator 就無法使用 CVS 了. 我們改用 cvsadmin 帳戶重新登陸, 繼續下面的操作.


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

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

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

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

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   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>
            99亚洲视频| 亚洲激情综合| 久久综合伊人77777蜜臀| 亚洲女人av| 欧美中文字幕视频| 久久一区免费| 欧美日韩国内自拍| 国产欧美短视频| 激情欧美日韩| 99精品福利视频| 亚洲欧美在线一区| 久久久久久网址| 亚洲国产精品一区二区久| 国产午夜亚洲精品不卡| 制服丝袜亚洲播放| 亚洲一区制服诱惑| 久久精品天堂| 欧美韩日一区| 国产视频在线观看一区| 亚洲精品中文字幕在线| 亚洲欧美日韩系列| 欧美成人首页| 亚洲网站在线| 久久综合色影院| 欧美色一级片| 在线观看一区二区视频| 亚洲午夜av电影| 欧美v日韩v国产v| 一个色综合导航| 玖玖精品视频| 国产精品久久久久7777婷婷| 亚洲国产一区二区精品专区| 欧美亚洲在线| 亚洲欧洲精品天堂一级| 午夜精品剧场| 欧美三级乱人伦电影| 激情六月婷婷综合| 久久国产精品免费一区| 亚洲美女少妇无套啪啪呻吟| 久久噜噜噜精品国产亚洲综合| 欧美亚洲第一区| 99riav国产精品| 欧美国产激情| 久热精品在线| 狠狠色综合网| 久久久久国产精品人| 亚洲一卡久久| 欧美久久久久久久久| 亚洲电影在线看| 久久在线播放| 欧美在线亚洲在线| 国产精品乱码一区二区三区| 夜久久久久久| 亚洲国产一区二区在线| 免播放器亚洲一区| 亚洲国产另类久久精品| 男人的天堂成人在线| 久久久久久久久久久成人| 国内外成人免费激情在线视频 | 欧美国产日本在线| 亚洲国产网站| 亚洲全部视频| 欧美日韩国产成人在线91| 亚洲久久成人| 日韩亚洲在线| 国产精品劲爆视频| 亚洲尤物视频网| 亚洲欧美在线磁力| 国产亚洲精品aa| 久久久久在线| 国产精品高清网站| 国语自产精品视频在线看| 久久精品人人做人人爽电影蜜月| 午夜精品久久久久久久久| 狠狠干综合网| 亚洲电影免费观看高清完整版在线观看| 久久久精品性| 亚洲精品日韩在线| 在线亚洲欧美视频| 国产日本欧美视频| 欧美高清视频一区二区三区在线观看| 欧美国产激情二区三区| 亚洲精选在线观看| 亚洲一二三四区| 在线看片成人| 亚洲免费观看高清在线观看| 国产日韩1区| 亚洲高清色综合| 欧美性猛交xxxx乱大交蜜桃 | 亚洲福利久久| 国产精品mv在线观看| 久久爱www久久做| 麻豆精品在线视频| 午夜精品视频| 久久综合五月天婷婷伊人| 一区二区三区欧美视频| 亚洲欧美欧美一区二区三区| 亚洲国产激情| 亚洲影院在线观看| 日韩视频永久免费观看| 亚洲愉拍自拍另类高清精品| 亚洲国产精品久久久久秋霞蜜臀| 亚洲性感激情| 亚洲毛片av| 久久久国产精品一区二区中文 | 亚洲系列中文字幕| 亚洲激情成人在线| 欧美在线视频一区| 亚洲一区二区免费看| 欧美a级理论片| 久久久久久久久一区二区| 欧美日韩亚洲一区在线观看| 欧美大色视频| 国产亚洲欧美一区在线观看| 一本色道久久综合亚洲精品小说| 亚洲国产毛片完整版| 欧美在线免费视频| 欧美一级片一区| 欧美视频中文字幕| 亚洲九九爱视频| 亚洲精品三级| 免费亚洲电影在线| 麻豆久久精品| 黄色精品一区二区| 午夜精品国产更新| 欧美亚洲免费| 国产精品日韩精品欧美在线| av成人免费在线| 亚洲精品一区二区三区不| 久久人91精品久久久久久不卡| 久久国产精品久久久久久电车| 国产一区 二区 三区一级| 欧美一区二区三区播放老司机| 亚洲一区二区黄色| 欧美日韩在线不卡一区| 91久久精品www人人做人人爽| 亚洲福利视频三区| 久久综合中文| 欧美成人在线网站| 在线成人黄色| 欧美承认网站| 亚洲精品偷拍| 亚洲精品一区二区三区蜜桃久 | 亚洲欧美日韩在线播放| 欧美日韩一区不卡| 亚洲性线免费观看视频成熟| 欧美亚洲在线播放| 韩国av一区二区三区| 麻豆精品视频| 日韩特黄影片| 亚洲欧洲av一区二区三区久久| 国产精品日韩久久久| 久久国产主播| 欧美激情黄色片| 一区二区三区高清视频在线观看| 欧美午夜精品理论片a级按摩| 亚洲伊人观看| 蜜桃久久av一区| 亚洲欧洲美洲综合色网| 欧美日韩在线视频首页| 亚洲永久免费观看| 久久久久五月天| 亚洲精品影院在线观看| 欧美午夜a级限制福利片| 午夜精品久久久久久久蜜桃app| 麻豆久久精品| 亚洲一区二区欧美日韩| 狠狠色狠狠色综合日日小说| 欧美激情第8页| 亚洲一区二区三区中文字幕在线| 久久精品国产亚洲a| 亚洲精品在线观看免费| 国产精品亚洲综合天堂夜夜| 久久久亚洲人| 99re国产精品| 久久av一区二区三区漫画| 亚洲精品久久久蜜桃| 国产伦理精品不卡| 欧美电影在线| 久久国产婷婷国产香蕉| 99riav国产精品| 欧美国产三级| 久久久久久伊人| 亚洲综合色噜噜狠狠| 伊人色综合久久天天五月婷| 欧美日韩一区二区三区在线观看免| 一区二区三区四区国产精品| 国产欧美日韩视频一区二区三区| 美女在线一区二区| 亚洲女人天堂成人av在线| 亚洲人成毛片在线播放| 免费成人高清视频| 欧美一区二区视频网站| 日韩西西人体444www| 在线日韩av片| 黄色工厂这里只有精品| 国产精品人人做人人爽| 欧美另类一区| 欧美成人乱码一区二区三区| 久久久久**毛片大全|