- 追加された行はこの色です。
- 削除された行はこの色です。
- CVSサーバ へ行く。
#contents
バージョン管理ソフトCVSを導入し、pserverを立ち上げる。
*インストール [#se7d0a88]
$ sudo apt-get install cvs
cvsはxinetdで管理するようにする。xinetdとはスーパサーバなどと呼ばれ、管理するサーバのすべてのポートを待ち、接続が来たら管理しているサーバを起動してそっちにデータを流す。これによりサーバを常駐させなくてすむようになる。
*xinetdのインストール [#bf18278f]
$ sudo apt-get install xinetd
*ユーザの追加 [#xa087292]
**cvsを管理するユーザcvsuserを追加する。 [#l6b90ba6]
$ sudo adduser cvsuser
**リポジトリ作成 [#xba1baf2]
/home/cvsuser/cvsrootにリポジトリをつくる。
$ sudo su - cvsuser
$ mkdir /home/cvsuser/cvsroot
$ cvs -d /home/cvsuser/cvsroot/ init
$ exit
**もうログインできないようにする [#ldf05303]
$ sudo chsh cvsuser
Changing the login shell for cvsuser
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /usr/sbin/nologin
$
**cvsを利用するユーザのためのパスワードを作成する [#d1dc7dae]
$ sudo htpasswd -c /home/cvsuser/cvsroot/CVSROOT/passwd cvsuser
*xinetdの設定にcvsを追加する。 [#n98b0c6b]
$ sudo vi /etc/xinetd.d/cvspserver
以下を作成
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = cvsuser
passenv = PATH
server = /usr/bin/cvs
evn = HOME=/home/cvsuser
server_args = -f --allow-root=/home/cvsuser/cvsroot pserver
}
**xinetdをリスタート [#gf5c3bc5]
$ sudo /etc/init.d/xinetd restart
**ufwを有効にしている場合は2401を許可する [#td02044a]
$ sudo ufw allow 2401
*WindowsのCygwinから実行する [#v22f637b]
**テストプロジェクト作成 [#j83ec6c6]
$ mkdir testproj
$ cd testproj
$ cat > testfile.txt
aaa
bbb
ccc[Ctrl+D]
$
**cvsにログイン [#xd6a9abb]
$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot login
パスワードはhtpasswdで作ったものを入れる。
**インポートする [#gab10c42]
$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot import testproj mycompany firsttest
N testproj/testfile.txt
No conflicts created by this import
**チェックアウト、コミットができるかテスト [#a7185670]
$ cd
$ mkdir aaa
$ cd aaa
$ cvs -d :pserver:cvsuser@192.168.0.100:/home/cvsuser/cvsroot co testproj
cvs checkout: Updating testproj
U testproj/testfile.txt
$ cd testproj
$ echo ddd >> testfile.txt
$ cvs diff testfile.txt
Index: testfile.txt
===================================================================
RCS file: /home/cvsuser/cvsroot/testproj/testfile.txt,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 testfile.txt
3a4
> ddd
$ cvs ci -m 'add ddd'
cvs commit: Examining .
/home/cvsuser/cvsroot/testproj/testfile.txt,v <-- testfile.txt
new revision: 1.2; previous revision: 1.1
*WindowsのEclipseでテスト [#l85d52d7]
[File]->[New]->[Project...]
>&ref(newproj.png,center,30%,nowrap,添付ファイルの画像);
>&ref(cofromcvs.png,center,30%,nowrap,添付ファイルの画像);
>&ref(cotestproj.png,center,30%,nowrap,添付ファイルの画像);
[Team]->[Commit]も動くか確かめる。