- PR -

Eclipseを使ったCVS管理について

1
投稿者投稿内容
NewK
会議室デビュー日: 2004/03/03
投稿数: 3
投稿日時: 2004-03-04 12:45
こんにちは NewKと申します
初めて投稿させていただきます
よろしくお願いいたします

現在CVSを使ってソース管理を行っていますがリリース管理について教えていただきたいと思います

■環境(使用ソフトウェア)
 (1)CVSサーバ 
   OS Windows2000 server
   CVS CVS for NT(2.0.14)
 (2)Eclipse  
2.1.1(日本語化パッチ適応済み)

開発を行いある時点でのソースをVersion1.0としてリリースしたとします
このVersion1.0にバグが見つかり、修正したものをVersion1.1とします
1.1と1.0の差分のみをVersion1.0のパッチとしてリリースしたいのですが
このようなときにはどのようにすればよいのでしょうか?

バージョンの作成、ブランチの作成など行ってみたのですがどうしてもうまくいきません
よろしくお願いいたします


ふーばー
大ベテラン
会議室デビュー日: 2003/06/05
投稿数: 163
投稿日時: 2004-03-04 13:08
これは、patch ファイル(patch コマンドに渡すファイル)を出力する方法を
聞いていますか?それとも差分ファイルのことですか?

また、「差分のみをVersion1.0のパッチとしてリリースしたい」というのは具体的に
どういうことですか?Eclipse に patch (もしくは差分ファイル)を出力させる、
とかそんなんですか?
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2004-03-04 13:59
手元のeclipse-2.1.2でちょっと試してみましたが、Eclipseのパッチ作成機能はあまり良くできていないようですね。

「現在のHEAD(トランクの先端)あるいは、スティッキーリビジョン」
と、
「現在のワークスペース上のソース(未コミット)」
を比較することしかできず、既にリポジトリにコミットされている二つのリビジョン間の差分を抽出してパッチを作成するようなこと(cvs diff -r 1.1 -r 1.2 みたいな操作)は簡単にはできないようです。

こういう場合は cvs コマンドを直接実行するのが手っ取り早いですのですが、eclipse上からもできないことはありません。

リビジョンで比較する場合とタグで比較する場合で操作が変わってきますが、
(以下、メニュー項目名は英語で書きます。僕、ランゲージパック使ってないんです。日本語が変なので)

* リビジョンで比較する場合(cvs diff -r 1.1 -r 1.2 をEclipse上からやる)
(1) Replace With => Revision => 1.1を右クリックして「Get Sticky Revision」
(2) Compare With => Revision => 1.2を右クリックして「Get Contents」
これで、ワークスペース上は、「1.1にスティッキーだけど内容は1.2」の状態になりました。
(3) Team => Create Patch => パッチの出力先は適当に選んで [Finish]

これで、「1.1を1.2にするためのpatch(unified diff形式)」が作成されます。

タグを指定してやる場合もまぁ似たような感じでできます(メンドーなので書きません)

ただし、この作業を行ったあとのワークスペースはスティッキーなリビジョンに変更を加えた状態になっていて気持ち悪いので、HEADなりに置換して綺麗にするのを忘れないでください。(cvs update -dPAC)

やっぱり cvs コマンドを直接叩いたほうが早いかも。

[ メッセージ編集済み 編集者: サ 編集日時 2004-03-04 14:02 ]
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2004-03-04 14:00
引用:

ふーばーさんの書き込み (2004-03-04 13:08) より:
これは、patch ファイル(patch コマンドに渡すファイル)を出力する方法を
聞いていますか?それとも差分ファイルのことですか?


diff の出力はそのまま patch の入力ですよね?

[ メッセージ編集済み 編集者: サ 編集日時 2004-03-04 14:01 ]
NewK
会議室デビュー日: 2004/03/03
投稿数: 3
投稿日時: 2004-03-04 14:48
ふーばー様、サ様
ご返答ありがとうございます

>これは、patch ファイル(patch コマンドに渡すファイル)を出力する方法を
>聞いていますか?それとも差分ファイルのことですか?
差分ファイルのことです
ユーザ様にアプリケーションをリリースするイメージでVersion1.0が提供されているユーザにバグ修正部分のみ(1.1と1.0の差分のみ)を提供するといった感じです

早速試してみたいとおもいます

1

スキルアップ/キャリアアップ(JOB@IT)