CVSについて

前提条件
cvsパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q cvsコマンドで確認できるよ。

CVSROOTの設定(はじめだけ♪)

  1. cvs のユーザを作成する
    # groupadd -g 20020 cvs
    # useradd -u 20020 -g cvs -s /bin/bash -m cvs
    # passwd cvs
    新しいパスワード:
    新しいパスワードの再入力:
  2. CVSROOT の環境設定を行います。.bashrc に記述しておくと毎回設定しないので楽です。
    export CVSROOT=/home/cvs/cvsroot
  3. CVS の初期化を行います。※1回だけです
    $ cvs init

レポジトリ登録

チェックアウト、コミット

CVSサーバ(pserver)の設定

  1. pserver用にパスワードを設定します。パスワードファイル(passwd)は、username:passwd で、
    パスワードは暗号化した書式で作成します。
  2. ユーザ名 hoge、パスワード hogehoge を設定する場合は、以下の様に設定します。
    ※便利,高林哲さんのサイトの cvsadduser を使うと便利です。本サイトにもある。
    $ echo -n "hoge:" >> $CVSROOT/CVSROOT/passwd
    $ crypt se hogehoge >> $CVSROOT/CVSROOT/passwd
    ※ seにあたるソルト文字列は、本来であれば乱数を生成して作るべきところですが、
       適当な2文字を使って設定してみました。
  3. /etc/services に以下の行が存在するか確認します。
    cvspserver  2401/tcp            # CVS client/server operations
    cvspserver  2401/udp            # CVS client/server operations
  4. /etc/xinetd.d に "cvspserver"ファイルを作成します。
    service cvspserver
    {
        socket_type     = stream
        protocol = tcp
        wait = no
        user = root
        server = /usr/bin/cvs
        server_args = -f --allow-root=/home/cvs/cvsroot pserver
        disable = no
    }
  5. rootユーザにて、xinetd を再起動します。
    # /etc/rc.d/init.d/xinetd restart
はまった
/etc/xinetd.d/cvspserver に server_args = -f --allow-root=/home/cvs/cvsroot pserver
とかかないと "cvs [login aborted]: unrecognized auth response from " って怒られます。

CVSサーバ(pserver)からのチェックアウト、コミット

便利なように
環境変数CVSROOTに :pserver:hoge@localhost:/home/cvs/cvsroot と設定しておくと便利です。

CVSサーバ(ssh)からのチェックアウト、コミット

  1. /tmp/ssh_with_portファイルを作成する。
    $ vi /tmp/ssh_with_port
    ssh -p ${CVS_SSH_PORT} $*
    
    $ chmod +x /tmp/ssh_with_port
  2. 環境変数を設定する
    export CVSROOT=:ext:hoge@cvs.hoge.jp:/home/hoge/cvsroot
    export CVS_RSH=/tmp/ssh_with_port
    export CVS_SSH_PORT=25252

cvswebによるwebからのリポジトリ参照

前提条件
cvswebパッケージがインストール*2されていることが条件。
パッケージの確認は、rpm -q cvswebコマンドで確認できるよ。
はまる?
こういうエラーがでるときがあります
Root '/home/cvs/cvsroot' defined in @CVSrepositories is not a directory, entry ignored at /var/www/cgi-bin/cvsweb.cgi line 491.
この場合は、ディレクトリのパーミッションが正しくないときです。chmod -R o+r とやればok

参考にさせて頂いたサイト様


*1 パーケッジのインストール方法はこちらを参照
*2 パーケッジのインストール方法はこちらを参照

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-03-12 (木) 09:59:18