CVS/CVSサーバの設定の巻
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** CVSについて [#pc5d352e]
- CVS (Concurrent Version System) の略ですが、このCVSでき...
リリース管理、あと便利なのがブランチ管理(別バージョン)...
に依存しないため最近ではJavaの開発eclipsなどでも使用され...
- ソースバージョン管理は、常にしておくべきです。開発に身...
「ソースが先祖がえりした、ファイルを消された、バックアッ...
このようなことがなくなるようにソースバージョン管理は、し...
COLOR(RED){※Microsoft Visual Source Safe信者からは、cvsっ...
: 前提条件 | COLOR(RED){''cvs''}パッケージがインストール(...
パッケージの確認は、COLOR(RED){''rpm -q cvs''}コマンドで...
** CVSROOTの設定(はじめだけ♪) [#e4ca31d5]
- cvsの運用ポリシーと好みの問題ですが、私はCVSROOT を誰で...
作成しだれもが参照できる運用とします。個人の認証について...
++ cvs のユーザを作成する
# groupadd -g 20020 cvs
# useradd -u 20020 -g cvs -s /bin/bash -m cvs
# passwd cvs
新しいパスワード:
新しいパスワードの再入力:
++ CVSROOT の環境設定を行います。.bashrc に記述しておくと...
export CVSROOT=/home/cvs/cvsroot
++ CVS の初期化を行います。※1回だけです
$ cvs init
** レポジトリ登録 [#i9767b47]
- CVSでソースバージョン管理をする場合、ソースバージョン管...
レポジトリを登録します。レポジトリ登録は、1回行えば良い...
- 運用ポリシーとして「誰でもが参照できる場所」としている...
問題はありませんが、COLOR(RED){''CVSROOT''}環境変数だけは...
++ レポジトリ登録するディレクトリに移動します。ここでは、...
hoge ディレクトリには、hoge.java ファイルがあるとします。
$ cd /home/hoge
$ ls
./ ../ hoge.java
++ レポジトリ名「hoge-cvs」として登録を行います。
$ cvs import -m "" hoge-cvs avendor start
N hoge-cvs/hoge.java
No conflicts created by this import
++ レポジトリ名「hoge-cvs」が、正しくレポジトリ登録された...
$ cd $CVSROOT
$ ls
./ ../ CVSROOT/ hoge-cvs/
++ レポジトリ登録が正しく行われれば、チェックアウトでファ...
ポジトリ登録したもとの hoge ディレクトリは削除しても問題...
** チェックアウト、コミット [#kf7e55a8]
- CVSでソースバージョン管理されたソースを修正する場合、チ...
修正作業が全て終わったら、CVSに管理を戻すためコミットとい...
++ 適当な作業ディレクトリに移動し、レポジトリ「hoge-cvs...
ここでは、/tmp/test1 というディレクトリにチェックアウトす...
$ cd /tmp
$ cvs checkout -d test1 hoge-cvs
cvs checkout: Updating test1
U test1/hoge.java
++ チェックアウトされた、レポジトリ名「hoge-cvs」の内容を...
$ ls test1
./ ../ CVS/ hoge.java
++ hoge.java の内容を修正しコミットを実行します。
$ cd test1
$ vi hoge.java
$ cvs commit -m ""
cvs commit: Examining .
Checking in hoge.java;
/home/cvs/cvsroot/hoge-cvs/hoge.java,v <-- hoge.java
new revision: 1.x; previous revision: 1.x
done
-- ※ソース上にバージョン情報の文字列を設定しておくと便利...
$ cd test1
$ vi hoge.java
/* $Id:$ */
$ cvs commit -m ""
$ vi hoge.java
/* $Id: hoge.java,v 1.15 2003/01/15 03:43:17 hoge Ex...
** CVSサーバ(pserver)の設定 [#lf9d64ef]
- CVSサーバを設定することによるメリットは、クライアントの...
例えていうならば、CVS管理を行うのは Linixマシンで、そのソ...
使い方もできるからです。
- このスタイルの一般的な運用方法としては、多人数でプログ...
分散されたマシン(クラアント)で修正&実行しコミットする...
この場合、CVSサーバにしなくとも nfs共有しても同じことです...
CVSクライアント機能が標準で付いているものも多くCVSサーバ...
++ pserver用にパスワードを設定します。パスワードファイル...
パスワードは暗号化した書式で作成します。
++ ユーザ名 hoge、パスワード hogehoge を設定する場合は、...
※便利,高林哲さんのサイトの cvsadduser を使うと便利です。...
$ echo -n "hoge:" >> $CVSROOT/CVSROOT/passwd
$ crypt se hogehoge >> $CVSROOT/CVSROOT/passwd
※ seにあたるソルト文字列は、本来であれば乱数を生成して作...
適当な2文字を使って設定してみました。
++ /etc/services に以下の行が存在するか確認します。
cvspserver 2401/tcp # CVS client/server oper...
cvspserver 2401/udp # CVS client/server oper...
++ /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 pser...
disable = no
}
++ rootユーザにて、xinetd を再起動します。
# /etc/rc.d/init.d/xinetd restart
: COLOR(RED){はまった} | /etc/xinetd.d/cvspserver に serv...
とかかないと "cvs [login aborted]: unrecognized auth resp...
** CVSサーバ(pserver)からのチェックアウト、コミット [#t...
- 基本的な使用方法は同じです。TCP/IP で接続するので、ログ...
チェックアウト、コミットする場合の手順として「ログイン → ...
-- CVSサーバにログイン
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot login
(Logging in to hoge@localhost)
CVS password:
-- CVSサーバからチェックアウト
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot check...
cvs server: Updating kkk
U kkk/hoge.java
cvs checkout: reading from localhost: Connection reset b...
-- CVSサーバにコミット
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot commit
-- CVSサーバからログアウト
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot logout
: COLOR(RED){便利なように} | 環境変数CVSROOTに ''':pserve...
** CVSサーバ(ssh)からのチェックアウト、コミット [#j9822...
- pserverを使うと通信経路の情報が生でやりとりされるため、...
通常sshで行うのが定例的です。
- サーバを cvs.hoge.jp、ユーザ(unixアカウント)を hoge ...
ssh による設定が既に済んでいるものとします。
++ レポジトリ登録するディレクトリに移動します。ここでは、...
hoge ディレクトリには、hoge.java ファイルがあるとします。
export CVSROOT=:ext:hoge@cvs.hoge.jp:/home/hoge/cvsroot
export CVS_RSH=ssh
++ 通常のCVSコマンドとを実行すると、毎回パスフレーズを求...
% cvs checkout -d hoge_dir hoge-cvs
Enter passphrase for key : ← パスフレーズ
cvs server: Updating hoge_dir
U hoge_dir/oooo
- sshのデフォルトポート(22)以外を使用する場合には、下記の...
※CVS_RSH環境変数で、デフォルトポート(22)以外を指定できな...
++ COLOR(RED){''/tmp/ssh_with_port''}ファイルを作成する。
$ vi /tmp/ssh_with_port
ssh -p ${CVS_SSH_PORT} $*
$ chmod +x /tmp/ssh_with_port
++ 環境変数を設定する
export CVSROOT=:ext:hoge@cvs.hoge.jp:/home/hoge/cvsroot
export CVS_RSH=/tmp/ssh_with_port
export CVS_SSH_PORT=25252
** cvswebによるwebからのリポジトリ参照 [#v9751891]
- CVSでソースバージョン管理を行うと、履歴とか差分とか簡単...
しかしコマンドラインから実行しないといけないのと、サーバ...
セキュリティのことは考慮しないとすれば、cvswebというツー...
履歴等などの情報を簡単にみることができ非常に便利です。
: 前提条件 | COLOR(RED){''cvsweb''}パッケージがインストー...
パッケージの確認は、COLOR(RED){''rpm -q cvsweb''}コマンド...
- cvswebパッケージのインストールが終わったら、COLOR(RED){...
@CVSrepositories = (
'local' => ['Local Repository', '/home/cvs/cvs...
# 'freebsd' => ['FreeBSD', '/var/ncvs'],
# 'openbsd' => ['OpenBSD', '/var/ncvs'],
# 'netbsd' => ['NetBSD', '/var/ncvs'],
# 'ruby' => ['Ruby', '/var/anoncvs/...
);
# For example:
#
#$cvstreedefault = $CVSrepositories[2 * 0];
$cvstreedefault = 'local';
- あとは、webからアクセスしてみます
http://www.sea-bird.org/cgi-bin/cvsweb.cgi/
: COLOR(RED){はまる?} | こういうエラーがでるときがありま...
&size(9){Root '/home/cvs/cvsroot' defined in @CVSreposito...
この場合は、ディレクトリのパーミッションが正しくないとき...
-- [[はやぐい/cvsweb>http://www.hayagui.com/cvsweb.html]]
** 参考にさせて頂いたサイト様 [#g0d01030]
-- [[marz wiki>http://marz-soho.dyndns.org/pukiwiki/]]
-- [[学外からのCVSアクセス>http://www.jaist.ac.jp/~kiyosh...
-- [[CVS, サーバ(pserver)の設定について>http://www.sea-bi...
-- [[はやぐい/cvsweb>http://www.hayagui.com/cvsweb.html]]
終了行:
** CVSについて [#pc5d352e]
- CVS (Concurrent Version System) の略ですが、このCVSでき...
リリース管理、あと便利なのがブランチ管理(別バージョン)...
に依存しないため最近ではJavaの開発eclipsなどでも使用され...
- ソースバージョン管理は、常にしておくべきです。開発に身...
「ソースが先祖がえりした、ファイルを消された、バックアッ...
このようなことがなくなるようにソースバージョン管理は、し...
COLOR(RED){※Microsoft Visual Source Safe信者からは、cvsっ...
: 前提条件 | COLOR(RED){''cvs''}パッケージがインストール(...
パッケージの確認は、COLOR(RED){''rpm -q cvs''}コマンドで...
** CVSROOTの設定(はじめだけ♪) [#e4ca31d5]
- cvsの運用ポリシーと好みの問題ですが、私はCVSROOT を誰で...
作成しだれもが参照できる運用とします。個人の認証について...
++ cvs のユーザを作成する
# groupadd -g 20020 cvs
# useradd -u 20020 -g cvs -s /bin/bash -m cvs
# passwd cvs
新しいパスワード:
新しいパスワードの再入力:
++ CVSROOT の環境設定を行います。.bashrc に記述しておくと...
export CVSROOT=/home/cvs/cvsroot
++ CVS の初期化を行います。※1回だけです
$ cvs init
** レポジトリ登録 [#i9767b47]
- CVSでソースバージョン管理をする場合、ソースバージョン管...
レポジトリを登録します。レポジトリ登録は、1回行えば良い...
- 運用ポリシーとして「誰でもが参照できる場所」としている...
問題はありませんが、COLOR(RED){''CVSROOT''}環境変数だけは...
++ レポジトリ登録するディレクトリに移動します。ここでは、...
hoge ディレクトリには、hoge.java ファイルがあるとします。
$ cd /home/hoge
$ ls
./ ../ hoge.java
++ レポジトリ名「hoge-cvs」として登録を行います。
$ cvs import -m "" hoge-cvs avendor start
N hoge-cvs/hoge.java
No conflicts created by this import
++ レポジトリ名「hoge-cvs」が、正しくレポジトリ登録された...
$ cd $CVSROOT
$ ls
./ ../ CVSROOT/ hoge-cvs/
++ レポジトリ登録が正しく行われれば、チェックアウトでファ...
ポジトリ登録したもとの hoge ディレクトリは削除しても問題...
** チェックアウト、コミット [#kf7e55a8]
- CVSでソースバージョン管理されたソースを修正する場合、チ...
修正作業が全て終わったら、CVSに管理を戻すためコミットとい...
++ 適当な作業ディレクトリに移動し、レポジトリ「hoge-cvs...
ここでは、/tmp/test1 というディレクトリにチェックアウトす...
$ cd /tmp
$ cvs checkout -d test1 hoge-cvs
cvs checkout: Updating test1
U test1/hoge.java
++ チェックアウトされた、レポジトリ名「hoge-cvs」の内容を...
$ ls test1
./ ../ CVS/ hoge.java
++ hoge.java の内容を修正しコミットを実行します。
$ cd test1
$ vi hoge.java
$ cvs commit -m ""
cvs commit: Examining .
Checking in hoge.java;
/home/cvs/cvsroot/hoge-cvs/hoge.java,v <-- hoge.java
new revision: 1.x; previous revision: 1.x
done
-- ※ソース上にバージョン情報の文字列を設定しておくと便利...
$ cd test1
$ vi hoge.java
/* $Id:$ */
$ cvs commit -m ""
$ vi hoge.java
/* $Id: hoge.java,v 1.15 2003/01/15 03:43:17 hoge Ex...
** CVSサーバ(pserver)の設定 [#lf9d64ef]
- CVSサーバを設定することによるメリットは、クライアントの...
例えていうならば、CVS管理を行うのは Linixマシンで、そのソ...
使い方もできるからです。
- このスタイルの一般的な運用方法としては、多人数でプログ...
分散されたマシン(クラアント)で修正&実行しコミットする...
この場合、CVSサーバにしなくとも nfs共有しても同じことです...
CVSクライアント機能が標準で付いているものも多くCVSサーバ...
++ pserver用にパスワードを設定します。パスワードファイル...
パスワードは暗号化した書式で作成します。
++ ユーザ名 hoge、パスワード hogehoge を設定する場合は、...
※便利,高林哲さんのサイトの cvsadduser を使うと便利です。...
$ echo -n "hoge:" >> $CVSROOT/CVSROOT/passwd
$ crypt se hogehoge >> $CVSROOT/CVSROOT/passwd
※ seにあたるソルト文字列は、本来であれば乱数を生成して作...
適当な2文字を使って設定してみました。
++ /etc/services に以下の行が存在するか確認します。
cvspserver 2401/tcp # CVS client/server oper...
cvspserver 2401/udp # CVS client/server oper...
++ /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 pser...
disable = no
}
++ rootユーザにて、xinetd を再起動します。
# /etc/rc.d/init.d/xinetd restart
: COLOR(RED){はまった} | /etc/xinetd.d/cvspserver に serv...
とかかないと "cvs [login aborted]: unrecognized auth resp...
** CVSサーバ(pserver)からのチェックアウト、コミット [#t...
- 基本的な使用方法は同じです。TCP/IP で接続するので、ログ...
チェックアウト、コミットする場合の手順として「ログイン → ...
-- CVSサーバにログイン
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot login
(Logging in to hoge@localhost)
CVS password:
-- CVSサーバからチェックアウト
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot check...
cvs server: Updating kkk
U kkk/hoge.java
cvs checkout: reading from localhost: Connection reset b...
-- CVSサーバにコミット
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot commit
-- CVSサーバからログアウト
$ cvs -d :pserver:hoge@localhost:/home/cvs/cvsroot logout
: COLOR(RED){便利なように} | 環境変数CVSROOTに ''':pserve...
** CVSサーバ(ssh)からのチェックアウト、コミット [#j9822...
- pserverを使うと通信経路の情報が生でやりとりされるため、...
通常sshで行うのが定例的です。
- サーバを cvs.hoge.jp、ユーザ(unixアカウント)を hoge ...
ssh による設定が既に済んでいるものとします。
++ レポジトリ登録するディレクトリに移動します。ここでは、...
hoge ディレクトリには、hoge.java ファイルがあるとします。
export CVSROOT=:ext:hoge@cvs.hoge.jp:/home/hoge/cvsroot
export CVS_RSH=ssh
++ 通常のCVSコマンドとを実行すると、毎回パスフレーズを求...
% cvs checkout -d hoge_dir hoge-cvs
Enter passphrase for key : ← パスフレーズ
cvs server: Updating hoge_dir
U hoge_dir/oooo
- sshのデフォルトポート(22)以外を使用する場合には、下記の...
※CVS_RSH環境変数で、デフォルトポート(22)以外を指定できな...
++ COLOR(RED){''/tmp/ssh_with_port''}ファイルを作成する。
$ vi /tmp/ssh_with_port
ssh -p ${CVS_SSH_PORT} $*
$ chmod +x /tmp/ssh_with_port
++ 環境変数を設定する
export CVSROOT=:ext:hoge@cvs.hoge.jp:/home/hoge/cvsroot
export CVS_RSH=/tmp/ssh_with_port
export CVS_SSH_PORT=25252
** cvswebによるwebからのリポジトリ参照 [#v9751891]
- CVSでソースバージョン管理を行うと、履歴とか差分とか簡単...
しかしコマンドラインから実行しないといけないのと、サーバ...
セキュリティのことは考慮しないとすれば、cvswebというツー...
履歴等などの情報を簡単にみることができ非常に便利です。
: 前提条件 | COLOR(RED){''cvsweb''}パッケージがインストー...
パッケージの確認は、COLOR(RED){''rpm -q cvsweb''}コマンド...
- cvswebパッケージのインストールが終わったら、COLOR(RED){...
@CVSrepositories = (
'local' => ['Local Repository', '/home/cvs/cvs...
# 'freebsd' => ['FreeBSD', '/var/ncvs'],
# 'openbsd' => ['OpenBSD', '/var/ncvs'],
# 'netbsd' => ['NetBSD', '/var/ncvs'],
# 'ruby' => ['Ruby', '/var/anoncvs/...
);
# For example:
#
#$cvstreedefault = $CVSrepositories[2 * 0];
$cvstreedefault = 'local';
- あとは、webからアクセスしてみます
http://www.sea-bird.org/cgi-bin/cvsweb.cgi/
: COLOR(RED){はまる?} | こういうエラーがでるときがありま...
&size(9){Root '/home/cvs/cvsroot' defined in @CVSreposito...
この場合は、ディレクトリのパーミッションが正しくないとき...
-- [[はやぐい/cvsweb>http://www.hayagui.com/cvsweb.html]]
** 参考にさせて頂いたサイト様 [#g0d01030]
-- [[marz wiki>http://marz-soho.dyndns.org/pukiwiki/]]
-- [[学外からのCVSアクセス>http://www.jaist.ac.jp/~kiyosh...
-- [[CVS, サーバ(pserver)の設定について>http://www.sea-bi...
-- [[はやぐい/cvsweb>http://www.hayagui.com/cvsweb.html]]
ページ名: