<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 服務器設置 ### CVS 環境初始化 決定主 repository 將要創建和重置的 cvs 根目錄。比如 /usr/local/cvs (根): #?mkdir?-p?/usr/local/cvs #?setenv?CVSROOT?/usr/local/cvs??????#?設置?CVSROOT?環境變量(本地) #?cvs?init???????????????????????????#?創建所有初始化?CVS?配置文件 #?cd?/root #?cvs?checkout?CVSROOT???????????????#?簽出配置文件來修改他們 #?cd?CVSROOT edit?config?(?fine?as?it?is) #?cvs?commit?config cat?>>?writers???????????????????????#?創建?writers?文件?(也可為?readers)colin ^D???????????????????????????????????#?使用?[Control][D]?退出編輯 #?cvs?add?writers????????????????????#?添加文件?writers?進?repository #?cvs?edit?checkoutlist #?cat?>>?checkoutlist writers ^D???????????????????????????????????#?使用?[Control][D]?退出編輯 #?cvs?commit?????????????????????????#?提交所有配置更改 添加一個?**readers**?文件,如果你要區分讀寫權限的話。_注意:_?不要在主 cvs 中直接編輯文件,而應該簽出要編輯的文件,修改完成后再簽入。我們所做的文件?**writers**?用來定義可寫權限。 下面有三種流行的方式去訪問 CVS。前兩個不需要任何進一步的配置。看?[CVSROOT](http://cb.vu/unixtoolbox_zh_CN.xhtml#cvsroot)?部分的實例了解如何使用它們: - 直接本的訪問文件系統。用戶需要有足夠的權限來直接訪問 CVS,除了要登錄到操作系統,沒有進一步的驗證。然而這僅對本地 repository 才有用。 - 使用 ext 協議通過 ssh 來遠程訪問。任何有 ssh shell 賬戶和在 CVS 服務器上可讀寫權限的都可直接使用 ext 協議通過 ssh 來訪問 CVS,而不需要任何額外的隧道。沒有服務器來處理運行在 CVS 上的驗證工作。ssh 登錄會去驗證。 - 用 pserver 來遠程訪問。這是對于有較大用戶量的首選方法,用戶由 CVS 的 pserver 通過一個專門的密碼數據庫來驗證,因此不需要本地用戶帳戶。這種設置在下面會有說明。 ### 用 inetd 設置網絡 如果不需要網絡訪問,CVS 可以運行于本地。對于遠程訪問,在 /etc/inetd.conf (Suse 為 /etc/xinetd.d/cvs)中配置如下行,可讓守護進程 inetd 啟動 pserver: cvspserver stream??tcp??nowait??cvs??/usr/bin/cvs cvs?\ --allow-root=/usr/local/cvs?pserver 這是個用來阻斷從 internet 訪問 cvs 端口的好方法,可使用 ssh 隧道來遠程的訪問 repository。 ## 單獨認證 CVS 用戶可能不是操作系統的一部分(即不是本地用戶)。這其實可從安全的角度去看。簡單的添加一個叫?**passwd**?(in the CVSROOT directory) 的文件,其包含 crypt 格式的用戶登錄名和密碼。這也可以使用 apache 的 htpasswd 工具來完成。 _注意:_這個 passwd 文件僅僅是文件,可以在 CVSROOT 中直接編輯。它不能被簽出。更多信息請用 htpasswd --help #?htpasswd?-cb?passwd?user1?password1??#?-c?創建文件 #?htpasswd?-b?passwd?user2?password2 現在添加?`:cvs`?到每行的結尾處,用來告訴 cvs 服務器更改用戶到 cvs (或任何你正在運行的 cvs 服務器下)。它看起來像這樣: #?cat?passwd user1:xsFjhU22u8Fuo:cvs user2:vnefJOsnnvToM:cvs ### 測試它 測試作為一般用戶登錄(比如我) #?cvs?-d?:pserver:colin@192.168.50.254:/usr/local/cvs?login Logging?in?to?:pserver:colin@192.168.50.254:2401/usr/local/cvs CVS?password: ### CVSROOT 變量 這是個環境變量用來指定 repository 的位置。對于本地使用,該變量只需設置成 repository 的目錄。對于通過網絡使用,傳輸協議必須指定。使用?`setenv CVSROOT string`?(csh, tcsh shell) 或者?`export CVSROOT=string`?( sh, bash shell) 設置 CVSROOT 環境變量。 #?setenv?CVSROOT?:pserver:<username>@<host>:/cvsdirectory For?example: #?setenv?CVSROOT?/usr/local/cvs???????????????????????????????#?僅限本的使用 #?setenv?CVSROOT?:local:/usr/local/cvs????????????????????????#?同上 #?setenv?CVSROOT?:ext:user@cvsserver:/usr/local/cvs???????????#?通過?SSH?直接訪問 #?setenv?CVS_RSH?ssh??????????????????????????????????????????#?ext?協議訪問 #?setenv?CVSROOT?:pserver:user@cvsserver.254:/usr/local/cvs???#?通過?pserver?網絡訪問 一旦登錄成功就可導入一個新項目進 repository:**cd 進入**你的項目根目錄 cvs?import?<module?name>?<vendor?tag>?<initial?tag> cvs?-d?:pserver:colin@192.168.50.254:/usr/local/cvs?import?MyProject?MyCompany?START 在 repository 中有個名叫 MyProject 新項目(之后用來簽出)。CVS 會導入當前目錄的內容進新項目。 簽出: #?cvs?-d?:pserver:colin@192.168.50.254:/usr/local/cvs?checkout?MyProject 或者 #?setenv?CVSROOT?:pserver:colin@192.168.50.254:/usr/local/cvs #?cvs?checkout?MyProject ### 通過 SSH 隧道訪問 CVS 我們需要兩個 shell 來做這個。在第一個 shell 中,我們連接到 cvs 服務器并對 cvs 連接進行端口轉發(port-forward)。在第二個 shell 中,我們就像在本地一樣使用 cvs。? 在 shell 1: #?ssh?-L2401:localhost:2401?colin@cvs_server???#?直接連接到?cvs?服務器。或: #?ssh?-L2401:cvs_server:2401?colin@gateway?????#?使用一個網關間接連接到?cvs?服務器 在 shell 2: #?setenv?CVSROOT?:pserver:colin@localhost:/usr/local/cvs #?cvs?login Logging?in?to?:pserver:colin@localhost:2401/usr/local/cvs CVS?password: #?cvs?checkout?MyProject/src ## CVS 命令及其使用 ### 導入 該 import 命令用來添加整個目錄,它必須運行于要導入的目錄中。比如,目錄 /devel/ 包含的所有文件和子目錄要導入。該目錄名在 CVS 中(模塊)將會稱為 "myapp"。 #?cvs?import?[options]?directory-name?vendor-tag?release-tag #?cd?/devel??????????????????????????#?必須在該目錄中來導入 #?cvs?import?myapp?Company?R1_0??????#?修訂(release)標簽可以為任何單個單詞 在添加了一個新目錄 "/devel/tools/" 后,也可這么導入。 #?cd?/devel/tools #?cvs?import?myapp/tools?Company?R1_0 ### 簽出、更新和提交 #?cvs?co?myapp/tools?????????????????#?僅會簽出?tools?目錄 #?cvs?co?-r?R1_1?myapp???????????????#?簽出修訂版本為?R1_1?的?myapp?(sticky) #?cvs?-q?-d?update?-P????????????????#?典型的?CVS?更新 #?cvs?update?-A??????????????????????#?重置所有?sticky?標簽(或日期、選項) #?cvs?add?newfile????????????????????#?添加一個新文件 #?cvs?add?-kb?newfile????????????????#?添加一個二進制文件 #?cvs?commit?file1?file2?????????????#?僅提交這兩個文件 #?cvs?commit?-m?"message"????????????#?提交所有更改并為這個更改添加日志消息 ### 創建一個 patch It is best to create and apply a patch from the working development directory related to the project, or from within the source directory. #?cd?/devel/project #?diff?-Naur?olddir?newdir?>?patchfile?#?Create?a?patch?from?a?directory?or?a?file #?diff?-Naur?oldfile?newfile?>?patchfile ### 應用一個 patch Sometimes it is necessary to strip a directory level from the patch, depending how it was created. In case of difficulties, simply look at the first lines of the patch and try -p0, -p1 or -p2. #?cd?/devel/project #?patch?--dry-run?-p0?<?patchfile????#?Test?the?path?without?applying?it #?patch?-p0?<?patchfile #?patch?-p1?<?patchfile??????????????#?strip?off?the?1st?level?from?the?path
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看