複数のソース、ドキュメント、リソースファイルその他で構成されるシステムを作ることになった。
作るのは問題ないのだが、このシステムの開発をする場所にはまともなソースコード管理システムがない。今回の開発担当は私だけなので規模は超が付くほど小さいが、これは紛れもなく「プロジェクト」だ。それなのにソースコード管理システムが無いというのでは、プロジェクトの失敗は目に見えている。別の場所での開発では VSS (Visual Source Safe) や PVCS を使っているが、このプロジェクトにはそんな予算はない。となると CVS や Subversion などのフリーソフトウェアを使うことになる。
CVSの基礎練習
http://www.hyuki.com/techinfo/cvsinit.html
バージョン管理システム CVS を使う
http://www.radiofly.to/nishi/cvs/cvs.html
CVS--Concurrent Versions System (in Japanese): CVS--Concurrent Versions System (in Japanese)
http://www.sodan.org/~penny/vc/cvs-ja.html
日本語版 CVS マニュアル。
入門 CVS サポートページ
http://mikamama.com/CVSBook/
今まで2秒くらいしか CVS を使ったことがない私には、わかりやすいドキュメントは不可欠だ。本を買っても良いけど、ウェブ上のドキュメントだけで何とかなりそう。
http://www.wincvs.org/ から最新版をダウンロード。今回は WinCvs13b17-2.zip をダウンロードしてセットアップ。
インストール先はデフォルトの C:\Program Files\GNU\WinCvs 1.3 にした。
バックアップの都合上、CVS リポジトリは e:\MyDocuments\cvsroot に配置したいので、システム環境変数の変数 CVSROOT を :local:e:\MyDocuments\cvsroot で追加した。
ディレクトリ e:\MyDocuments\cvsroot を作成。
注意点として「cvs importするときには、目的のディレクトリの「中」にいるようにすること。 」だそうだ。
構文は cvs import -m "COMMENT" PROJECT_NAME VENDER_TAG RELEASE_TAG となっている。
私のプロジェクト名は hikaru で、作業ディレクトリは E:\cygwin\home\aqua\project\hikaru なので、そのように書き換えて実行。
上記の指定だとカレントディレクトリをコミットするので、目的のディレクトリの中にいるようにすること。
コミットして CVS リポジトリに反映させる。
これで追加完了。ついでに CVS update してローカルのファイル群をリポジトリに同期させておこう。
リポジトリへの編集結果の反映は、VSS やPVCS だと「チェックイン」と呼び、チェックアウト (リポジトリの該当ファイルをロックしたうえでファイルローカルにコピー) した人だけに許可される。CVS は「コミット」と呼び、ロックしていなくてもリポジトリに反映できる。
自分が最後に update したあとに、別のユーザなどによりリポジトリにコミットがあり、そのまま自分の編集結果をコミットしようとした場合、コンフリクトが発生する。windowsユーザのためのcvs入門 http://www007.upp.so-net.ne.jp/kengai/linux/cvs.html によると、コンフリクトした場合「とりあえずupdate」を行い、変更部分をマージしてからコミットし直すとのこと。なるほど、オープンソースのプロジェクトみたい緩やかな結びつきで開発チームが結成されている場合は、この方がやりやすいんだろうね。
あ、「windowsユーザのためのcvs入門」って、「圏外からのひとこと」http://amrita.s14.xrea.com/d/ の essa さんが書いたのか。サイトを移転してもファイルを消さずに残しておいてくださったおかげで CVS についての理解が深まった。ありがたいことだ。
GUI を使った CVS の操作は、今後の課題。とりあえずは今の CUI のままでも不満はないし。eclipse とかを使うと良いらしい。
作るのは問題ないのだが、このシステムの開発をする場所にはまともなソースコード管理システムがない。今回の開発担当は私だけなので規模は超が付くほど小さいが、これは紛れもなく「プロジェクト」だ。それなのにソースコード管理システムが無いというのでは、プロジェクトの失敗は目に見えている。別の場所での開発では VSS (Visual Source Safe) や PVCS を使っているが、このプロジェクトにはそんな予算はない。となると CVS や Subversion などのフリーソフトウェアを使うことになる。
- そうだ、CVS にしよう
CVS と Subversion のどちらを使おうか迷った末、CVS を使うことにした。理由は、結城さんが Windows 環境だけで完結する CVS 環境構築と操作方法のドキュメントを書いていたからだ。他にもいくつか有用そうなドキュメントがあった。CVSの基礎練習
http://www.hyuki.com/techinfo/cvsinit.html
バージョン管理システム CVS を使う
http://www.radiofly.to/nishi/cvs/cvs.html
CVS--Concurrent Versions System (in Japanese): CVS--Concurrent Versions System (in Japanese)
http://www.sodan.org/~penny/vc/cvs-ja.html
日本語版 CVS マニュアル。
入門 CVS サポートページ
http://mikamama.com/CVSBook/
今まで2秒くらいしか CVS を使ったことがない私には、わかりやすいドキュメントは不可欠だ。本を買っても良いけど、ウェブ上のドキュメントだけで何とかなりそう。
- Windows だけで完結する CVS 環境のセットアップ
CVS サーバは Windows2000、CVS クライアントも Windows2000 という環境で CVS を使いたい。要するに一人 CVS 環境。以下、作業記録。ほとんど「CVS の基礎練習」のままだけど。- Windows 版 CVS のインストール
Widows2000 Professional に Windows 版 CVS をインストールする。http://www.wincvs.org/ から最新版をダウンロード。今回は WinCvs13b17-2.zip をダウンロードしてセットアップ。
インストール先はデフォルトの C:\Program Files\GNU\WinCvs 1.3 にした。
- CVS が使う環境変数の設定
コマンドプロンプトから CVS のコマンドを起動しやすくするため、「マイコンピュータ」の「プロパティ」の「詳細」タブを開き、「環境変数」ボタンを押し、システム環境変数の変数 PATH に C:\Program Files\GNU\WinCvs 1.3\CVSNT を追加した。バックアップの都合上、CVS リポジトリは e:\MyDocuments\cvsroot に配置したいので、システム環境変数の変数 CVSROOT を :local:e:\MyDocuments\cvsroot で追加した。
ディレクトリ e:\MyDocuments\cvsroot を作成。
- cvs init でリポジトリを初期化
コマンドプロンプトを起動して cvs init を実行。e:\>cvs init
- cvs import でリポジトリに追加する
「CVS の基本練習」では以下のようにして「カレントディレクトリ以下を新しいモジュールmyprojectとしてリポジトリにインポート」している。C:\work\myproject> cvs import -m "My Project" myproject hyuki myproject_0_1
注意点として「cvs importするときには、目的のディレクトリの「中」にいるようにすること。 」だそうだ。
構文は cvs import -m "COMMENT" PROJECT_NAME VENDER_TAG RELEASE_TAG となっている。
私のプロジェクト名は hikaru で、作業ディレクトリは E:\cygwin\home\aqua\project\hikaru なので、そのように書き換えて実行。
E:\cygwin\home\aqua\project\hikaru>cvs import -m hikaru hikaru hiroaki hikaru_0_1
- cvs checkout で CVS リポジトリからチェックアウト
注意点は「cvs checkoutするときには、目的のディレクトリの「中」ではなく「1つ上」にいるようにすること。 」とのこと。E:\cygwin\home\aqua\project>cvs checkout hikaru
cvs checkout: Updating hikaru
U hirkaru/README
- cvs commit で CVS リポジトリにコミット
E:\cygwin\home\aqua\project> cvs commit -m "Add README"
上記の指定だとカレントディレクトリをコミットするので、目的のディレクトリの中にいるようにすること。
E:\cygwin\home\aqua\project\hikaru>cvs commit -m "Add README"
cvs commit: Examining .
Checking in README;
E:/MyDocuments/cvsroot/hikaru/README,v <-- README
new revision: 1.2; previous revision: 1.1
done
- cvs add で CVS リポジトリに新規ファイルを追加
cvs add でファイルを追加。E:\cygwin\home\aqua\project\hikaru>cvs add create_table.sql
cvs add: scheduling file `create_table.sql' for addition
cvs add: use 'cvs commit' to add this file permanently
コミットして CVS リポジトリに反映させる。
E:\cygwin\home\aqua\project\hikaru>cvs commit -m "Add create_table.sql."
cvs commit: Examining .
RCS file: E:/MyDocuments/cvsroot/hikaru/create_table.sql,v
done
Checking in create_table.sql;
E:/MyDocuments/cvsroot/hikaru/create_table.sql,v <-- create_table.sql
initial revision: 1.1
done
これで追加完了。ついでに CVS update してローカルのファイル群をリポジトリに同期させておこう。
E:\cygwin\home\aqua\project\hikaru>cvs update
cvs update: Updating .
- CVS と VSS や PVCS との違い
チェックアウトの概念が異なる。VSS や PVSC のチェックアウトは、初期設定だと「リポジトリの該当ファイルをロックして他人が編集できなくしてから、自分のローカルにコピーして編集作業開始。」という意味。CVS のチェックアウトは「リポジトリをローカルにコピーする」くらいの意味。リポジトリへの編集結果の反映は、VSS やPVCS だと「チェックイン」と呼び、チェックアウト (リポジトリの該当ファイルをロックしたうえでファイルローカルにコピー) した人だけに許可される。CVS は「コミット」と呼び、ロックしていなくてもリポジトリに反映できる。
自分が最後に update したあとに、別のユーザなどによりリポジトリにコミットがあり、そのまま自分の編集結果をコミットしようとした場合、コンフリクトが発生する。windowsユーザのためのcvs入門 http://www007.upp.so-net.ne.jp/kengai/linux/cvs.html によると、コンフリクトした場合「とりあえずupdate」を行い、変更部分をマージしてからコミットし直すとのこと。なるほど、オープンソースのプロジェクトみたい緩やかな結びつきで開発チームが結成されている場合は、この方がやりやすいんだろうね。
あ、「windowsユーザのためのcvs入門」って、「圏外からのひとこと」http://amrita.s14.xrea.com/d/ の essa さんが書いたのか。サイトを移転してもファイルを消さずに残しておいてくださったおかげで CVS についての理解が深まった。ありがたいことだ。
GUI を使った CVS の操作は、今後の課題。とりあえずは今の CUI のままでも不満はないし。eclipse とかを使うと良いらしい。
- すべての記事の見出し (全1029件)
- 全カテゴリの一覧と記事の数
- カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。
- .net (57件)
- 2ch (19件)
- amazon (5件)
- Apache (22件)
- bash (13件)
- Bookmarklet (9件)
- C# (45件)
- chalow (18件)
- ChangeLog メモ (20件)
- coLinux (2件)
- CSS (5件)
- Delphi (5件)
- DVD (6件)
- Excel (1件)
- F-ZERO (4件)
- FF12 (31件)
- ftp (8件)
- Google (21件)
- gpg (7件)
- HTML (19件)
- http (19件)
- IE (10件)
- IIS (4件)
- iPod (2件)
- JavaScript (14件)
- Linux (63件)
- MCP (6件)
- Mozilla (14件)
- MS SQL Server (30件)
- MySQL (4件)
- Namazu (3件)
- PC (48件)
- Perl (58件)
- PHP (2件)
- Postgres (36件)
- proftpd (2件)
- qmail (1件)
- RFC (4件)
- RSS (33件)
- Ruby (15件)
- samba (3件)
- sonic64.com (6件)
- SQL (15件)
- Squid (3件)
- ssh (7件)
- Subversion (3件)
- unix (31件)
- VSS (2件)
- Windows (34件)
- winny (9件)
- XML (9件)
- xyzzy (17件)
- おいでよ どうぶつの森 (19件)
- お菓子 (5件)
- アスキーアート (13件)
- アニメ (9件)
- クレジットカード (2件)
- ゲーム (120件)
- シェルスクリプト (18件)
- シレン2 (8件)
- セキュリティ (9件)
- ソフトウェア (21件)
- デザインパターン (2件)
- ネットワーク (30件)
- バックアップ (17件)
- プログラミング (14件)
- マリオカートDS (3件)
- メール (26件)
- メモ (116件)
- ラーメン (11件)
- 音楽 (59件)
- 給油 (3件)
- 三国志大戦 (13件)
- 車 (7件)
- 書斎 (4件)
- 食 (30件)
- 買い物 (17件)
- 簿記 (8件)
- 本 (32件)
- 漫画 (9件)
- 2007-04-23 (Mon)
- 2007-03-07 (Wed)
- 2007-02-27 (Tue)
- 2007-01-17 (Wed)
- 2007-01-15 (Mon)
- 2007-01-14 (Sun)
- 2007-01-08 (Mon)
- 2006-12-01 (Fri)
- 2006-11-22 (Wed)
- 2006-11-20 (Mon)
- 2006-11-19 (Sun)
- 2006-09-30 (Sat)
- 2006-08-29 (Tue)
- 2006-08-04 (Fri)
- 2006-07-27 (Thu)
- 2006-07-23 (Sun)
- 2006-07-17 (Mon)
- 2006-07-10 (Mon)
- 2006-07-06 (Thu)
- 2006-07-03 (Mon)
- 2006-06-29 (Thu)
- 2006-06-28 (Wed)
- 2006-06-27 (Tue)
- 2006-06-25 (Sun)
- 2006-06-19 (Mon)
- 2006-06-18 (Sun)
- 2006-06-15 (Thu)
- 2006-06-11 (Sun)
- 2006-06-01 (Thu)
- 2006-05-30 (Tue)
- プロファイル
- 斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
- リンク
- RSS
- スポンサードリンク
- Powered by
- ☆さくらインターネット☆