1プロジェクトの複数人での開発


これから開発  2005-05-18 19:40:31  No: 57447  IP: 192.*.*.*

VC++6.0の1プロジェクトの複数人での開発方法
について掲載されたURLなどがあればおしえてください。

たとえば、画面を複数人で作り、最後に1つの
プロジェクトにする、といったことについて知りたいです。

宜しくお願いします。

編集 削除
KING・王  2005-05-19 08:06:57  No: 57448  IP: 192.*.*.*

少し逆ですが、結果的に同じなので、下記を参考にしては?

<http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200505/05050034.txt>

編集 削除
KING・王  2005-05-19 08:09:04  No: 57449  IP: 192.*.*.*

すいません、先のURLの後ろの>は不要です。
<>の中の部分のみをコピー&ペーストしてください。

編集 削除
PATIO  2005-05-19 09:49:39  No: 57450  IP: 192.*.*.*

Visual Source SafeとかCVS等の形態管理を行うソフトを導入するのが
一般的だと思います。
CVSなら無料で手に入りますから個人で使う場合でも何とかなりますし、
会社組織で仕事としてやるんでしたらVisual Source Safeを購入する手も
あるでしょう。
Visual Source SafeはMS製ですのでVCとの連携が出来ますのでお得です。

バージョン管理等を人手でやっていると人為的なミスでソースが先祖返りしたり
他の人のソースで上書きされたりという事態が起こりえますのでそういう事態を
極力避ける意味でも形態管理ソフトを使う意味はあると思いますよ。
実際、一人で開発するときでもこういったソフトを使った方がバージョン管理が
簡単に出来るのでとても便利です。
過去のある時点のソースを取り出すといった使い方も出来ますしね。

リソースファイルとリソースヘッダの管理が問題でしょうねぇ。
それぞればらばらでやるのであれば、リソースの状態が固まった時点で
うまくマージするとかということも考えておいたほうがいいかもしれません。
Visual Source Safeで一つのファイル同時に複数人数で触れないような設定に
しておけばバッティングするのは防げますけれど、その場合、一人がリソース
を触っている時は他の人はリソースの修正等ができないことになります。

編集 削除
これから開発  2005-05-19 10:21:31  No: 57451  IP: 192.*.*.*

返信ありがとうございます。

なるほど、いろいろ方法があるようですが、
まず、Visual Source Safeに興味をもちました。

>バージョン管理等を人手でやっていると人為的なミスでソースが先祖返りしたり
>他の人のソースで上書きされたりという事態が起こりえますのでそういう事態を
>極力避ける意味でも形態管理ソフトを使う意味はあると思いますよ。

バージョン管理は、プロジェクトのフォルダをコピーし、
それぞれのバージョンで保管するつもりでしたが、その方法だと
ご指摘の自体になる可能性があるということでよかったですか?

>Visual Source Safeで一つのファイル同時に複数人数で触れないような設定に
>しておけばバッティングするのは防げますけれど、その場合、一人がリソース
>を触っている時は他の人はリソースの修正等ができないことになります。

逆に、一つのファイルを同時に複数人数が触れるように設定した場合、
1つのプロジェクトを複数人が開き、そのプロジェクトにリソースを
各人で追加することができるのでしょうか?
(その場合は、リソースのIDなどが重複しないように注意して行うことに
  なるかとおもいますが。)

なお、もし上記のことが可能だとしても、他の人がリソースの編集中で
あるとビルドして動作確認しながら作業はできないですよね?

編集 削除
Ban  2005-05-19 11:10:22  No: 57452  IP: 192.*.*.*

> Visual Source SafeはMS製ですのでVCとの連携が出来ますのでお得です。

VSS はそれなりに値が張りますが、
こちらのソフトを利用すると VC6/7.1等からでも CVS 接続できますので、
小規模開発なら一考の価値があるかもしれません。

http://www.jalindi.com/igloo/

ご参考までに。

編集 削除
WIZ  2005-05-20 13:41:18  No: 57453  IP: 192.*.*.*

> バージョン管理は、プロジェクトのフォルダをコピーし、
> それぞれのバージョンで保管するつもりでしたが、その方法だと
> ご指摘の自体になる可能性があるということでよかったですか?

バージョン毎にフォルダを分けても、プロジェクトのソースを複数の人で編集
するのなら、PATIO さんのご指摘の事態になる可能性はあります。
例えば、ソースファイルを開いている間ファイルを書き込み排他することがで
きるエディタを使い、ソース編集はプロジェクトフォルダ内のオリジナルを
エディタで開いて行うというルールを課せば良いのですが、人為的ミスは防げ
ません。
# ローカルフォルダにソースファイルをコピーし、このコピーを編集してプロ
# ジェクトフォルダへ上書きコピーしてしまうなどのミス。

> 逆に、一つのファイルを同時に複数人数が触れるように設定した場合、
> 1つのプロジェクトを複数人が開き、そのプロジェクトにリソースを
> 各人で追加することができるのでしょうか?
> (その場合は、リソースのIDなどが重複しないように注意して行うことに
>   なるかとおもいますが。)

注意すればできると言えますが、ツールにより自動化し人為的ミス混入のリス
クを少なくした方が安全です。

> なお、もし上記のことが可能だとしても、他の人がリソースの編集中で
> あるとビルドして動作確認しながら作業はできないですよね?

他人が編集中のソースは VSS 等に登録されている1世代前のソースを使う事
になります。これと自身で編集したソースを組み合わせてビルドし、ユニット
テストを行います。ユニットテストがOKなら VSS 等に自身で編集したソース
を登録します。全員のユニットテストが完了したら、最新のソースでビルドし
システムテスト等に進みます。

編集 削除
PATIO  2005-05-20 14:41:08  No: 57454  IP: 192.*.*.*

既に皆さんが回答済みのようですが、
プロジェクトをフォルダ毎コピーしてやる方法だとコピー作業に手作業が入るので
古いファイルで上書いてしまうとか、古いバージョンのフォルダを新しいファイルで上書いてしまうといった操作ミスがありえます。
基本的に人間は間違いをすると考えた方がいいと思います。
なのでツール等で自動化できる部分は自動化したほうがリスクを下げる事が出来ます。
また、差分をとって保持する形式なのでプロジェクト丸ごとを世代ごとに管理するよりも容量が圧縮できます。


>こちらのソフトを利用すると VC6/7.1等からでも CVS 接続できますので、
>小規模開発なら一考の価値があるかもしれません。

VC6用のは知っていましたけれど、VC7.1にも対応できる物があったんですね。
個人的にはWinCVSを使えば、ほとんどの事はGUIで出来るからVCと統合されて
いなくてもそこまで気にはならないんですけれどね。
CVSはVSSと違って同時に触る事を想定しているシステムなので
ローカルのファイルは自由に触れます。
但し、リポジトリにアップする時は手順を踏む必要がありますけれど。

> 逆に、一つのファイルを同時に複数人数が触れるように設定した場合、
> 1つのプロジェクトを複数人が開き、そのプロジェクトにリソースを
> 各人で追加することができるのでしょうか?
> (その場合は、リソースのIDなどが重複しないように注意して行うことに
>   なるかとおもいますが。)

複数で触れる設定の場合は、CVSと同じように同じソースを触った場合に
その変更内容が衝突していないかをチェックして衝突がなければ、自動マージ
衝突があるときは手動でマージ作業をするという事になります。
個人的には自動マージは怖いので手動でマージしたい所です。
以前にそれでソースをつぶされた事がありましたので(CVSでしたが)


> なお、もし上記のことが可能だとしても、他の人がリソースの編集中で
> あるとビルドして動作確認しながら作業はできないですよね?

確認が取れた物を持っていってVSSに反映します。
反映されない限りは前の状態のままになります。
基本的にはローカルの作業用コピーで作業を行いますので動作確認も出来ますよ。
VSSから最新を取得しなければ、状態が変わる事もありませんしね。

編集 削除
PATIO  2005-05-20 14:49:11  No: 57455  IP: 192.*.*.*

すいません、話が混同しているかも。

>複数で触れる設定の場合は、CVSと同じように同じソースを触った場合に
>その変更内容が衝突していないかをチェックして衝突がなければ、自動マージ
>衝突があるときは手動でマージ作業をするという事になります。

CVSではこれが当たり前なのでそう書いていますけれど、
VSSの方が全く同じ手順だったかは確認してませんでした。
VSSの場合は同時に触れないように設定して使った事しかないので。
大筋では間違っていないと思いますけれど。

編集 削除
SK  2005-05-23 21:07:03  No: 57456  IP: 192.*.*.*

以前CVSで複数人開発をやっていましたが、resource.hやrcファイル、
ワークスペースなんかを同時に変更するとマージが大変でした。
たしか、MSDNで同時に変更すると駄目なファイルの説明がどこかにあったとおもいます。
そのあたりは声を掛けつつやってましたが、それが面倒ならVSSのほうがいいかもしれません。

編集 削除