「Concurrent Versions System」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「http://www.nongnu.org/」を「https://www.nongnu.org/」に置換)
(サーバーを翻訳して追加)
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
 
[[Category:バージョン管理システム]]
 
[[Category:バージョン管理システム]]
 
[[en:Concurrent Versions System]]
 
[[en:Concurrent Versions System]]
  +
https://www.nongnu.org/cvs/ から:
[https://www.nongnu.org/cvs/ Concurrent Versions System] はバージョン管理システムで、ソース構成管理 (SCM) の重要なコンポーネントです。CVS を使うことで、ソースファイルやドキュメントの履歴を記録することができます。フリーソフトウェアの RCS, PRCS, Aegis パッケージなどと同じ役割を満たします。このガイドでは CVS サーバーをセットアップする方法を説明します。
 
  +
:'''Concurrent Versions System''' はバージョン管理システムで、ソース構成管理 (SCM) の重要なコンポーネントです。CVS を使うことで、ソースファイルやドキュメントの履歴を記録することができます。フリーソフトウェアの RCS, PRCS, Aegis パッケージなどと同じ役割を満たします。
   
  +
より最近の代替案は [[:カテゴリ:バージョン管理システム]] にリストされています。
== インストール ==
 
  +
  +
== クライアント ==
  +
  +
CVS サーバーに接続したい場合は、{{Pkg|CVS}} をインストールし、そのサーバーの所有者の指示に従ってください。たとえば、https://www.openbsd.org/anoncvs.html
  +
  +
{{Note|{{Bug|12636}} を参照してください。サーバーによっては ''rsh'' が必要な場合があります。[[環境変数]] {{ic|1=CVS_RSH=ssh}} を使用して、''ssh'' の使用を強制できます。}}
  +
  +
== サーバー ==
  +
  +
これは、最新の CVS サーバーをセットアップする方法に関するクイックガイドです。
  +
  +
=== インストール ===
   
 
{{Pkg|cvs}} と {{Pkg|xinetd}} をインストールしてください。
 
{{Pkg|cvs}} と {{Pkg|xinetd}} をインストールしてください。
13行目: 26行目:
 
# useradd -md /home/cvsroot -g cvs -p Insecure0 cvs
 
# useradd -md /home/cvsroot -g cvs -p Insecure0 cvs
   
== 初期化 ==
+
=== 初期化 ===
   
 
CVS リポジトリ (cvs) を初期化:
 
CVS リポジトリ (cvs) を初期化:
46行目: 59行目:
 
そして {{ic|xinetd.service}} を[[Systemd#ユニットを使う|再起動]]してください。
 
そして {{ic|xinetd.service}} を[[Systemd#ユニットを使う|再起動]]してください。
   
== 設定 ==
+
=== 設定 ===
   
 
cvs ユーザーになってから ("su cvs")、{{ic|~/CVSROOT}} に {{ic|passwd}} ファイルを作成してください。(apache パッケージに含まれている) htpasswd コマンドを使うことでファイルにエントリを追加できます:
 
cvs ユーザーになってから ("su cvs")、{{ic|~/CVSROOT}} に {{ic|passwd}} ファイルを作成してください。(apache パッケージに含まれている) htpasswd コマンドを使うことでファイルにエントリを追加できます:
69行目: 82行目:
 
{{note|{{ic|readers}} ファイルに記述したユーザーは書き込み権限を持つことができません。}}
 
{{note|{{ic|readers}} ファイルに記述したユーザーは書き込み権限を持つことができません。}}
   
== 使用 ==
+
=== 使用 ===
   
 
以下のコマンドを使ってサーバーをテストできます:
 
以下のコマンドを使ってサーバーをテストできます:

2023年11月24日 (金) 05:14時点における最新版

https://www.nongnu.org/cvs/ から:

Concurrent Versions System はバージョン管理システムで、ソース構成管理 (SCM) の重要なコンポーネントです。CVS を使うことで、ソースファイルやドキュメントの履歴を記録することができます。フリーソフトウェアの RCS, PRCS, Aegis パッケージなどと同じ役割を満たします。

より最近の代替案は カテゴリ:バージョン管理システム にリストされています。

クライアント

CVS サーバーに接続したい場合は、CVS をインストールし、そのサーバーの所有者の指示に従ってください。たとえば、https://www.openbsd.org/anoncvs.html

ノート: FS#12636 を参照してください。サーバーによっては rsh が必要な場合があります。環境変数 CVS_RSH=ssh を使用して、ssh の使用を強制できます。

サーバー

これは、最新の CVS サーバーをセットアップする方法に関するクイックガイドです。

インストール

cvsxinetd をインストールしてください。

cvs グループを作成します。グループのメンバーがリポジトリに書き込む権限を持ちます:

# groupadd cvs

cvs グループに cvs ユーザーを作成してください (-md でホームディレクトリが作成されます):

# useradd -md /home/cvsroot -g cvs -p Insecure0 cvs

初期化

CVS リポジトリ (cvs) を初期化:

cvs% cvs -d /home/cvsroot init

ディレクトリのパーミッションは 2775 (drwxrwxr-x) である必要があります。異なっている場合、(cvs ユーザーで) 以下を実行:

cvs% chmod 2775 /home/cvsroot

リポジトリにローカルからアクセスできるユーザーを cvs グループに追加してください。既存のユーザーを cvs グループに追加するには:

# gpasswd -a username cvs

xinetd の設定ファイルを作成:

/etc/xinetd.d/cvspserver
service cvspserver
{
        port            = 2401
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        passenv         = /home/cvsroot
        server          = /usr/bin/cvs
        server_args     = -f --allow-root=/home/cvsroot pserver
}

/etc/services に以下の行が書かれていることを確認 (存在しない場合は追加してください):

cvspserver 2401/tcp

HOME 変数の定義を解除:

# unset HOME

そして xinetd.service再起動してください。

設定

cvs ユーザーになってから ("su cvs")、~/CVSROOTpasswd ファイルを作成してください。(apache パッケージに含まれている) htpasswd コマンドを使うことでファイルにエントリを追加できます:

htpasswd -b filename username password

それからファイルを編集して以下のようにグループを追加してください:

# Format is username:password:group

anonymous::
luser:HopefullySecure0:cvs
other:Insecure0:cvs

~/CVSROOTwriters ファイルを作成して、passwd で作成したユーザーに書き込み権限を与えます:

luser
other

~/CVSROOTreaders ファイルを作成して、passwd で作成したユーザーに読み込み権限を与えます:

anonymous
ノート: readers ファイルに記述したユーザーは書き込み権限を持つことができません。

使用

以下のコマンドを使ってサーバーをテストできます:

export CVSROOT=:pserver:my_user_name@127.0.0.1:/home/cvsroot
cvs login
mkdir ~/sandbox
mkdir ~/sandbox/myproject
cd ~/sandbox/myproject
echo "this is a sample file" > myfile
cvs import -m "description of myproject" myproject v1 r1
cd ..
rm -R myproject
cvs checkout myproject
cd myproject
echo "some changes to the file" >> myfile
cvs commit -m "Explain changes here" myfile