トップ回答者
VSS2005でのソース管理法

質問
-
みなさん、はじめまして。mst-illと申します。
早速ですが、本題に入りたいと思います。
現在、ソース管理のためにVSS+VSS2005の検証を行っていますが、あるユーザー(特定のユーザーではない)で排他的にチェックアウトしたソースが、他のユーザーにより変更できてしまします。
変更された時にはチェックアウトしているほうの画面にエディター以外でソースが変更された旨の表示がなされます。もちろん、VSSのエディターからの操作であり、ソリューションエクスプローラには排他的にチェックアウトされている旨のアイコンが表示されています。また、複数チェックアウトを許す設定にはしていません。
何か設定上のミスでしょうか?ご存知の方がいらっしゃればご教授ください。
よろしくお願いします。
回答
-
mst-ill さんからの引用 手順としては、A、B二つのユーザを想定すると、
1、 Aがソースを排他的にチェックアウトする。
2、 Bが同じソースを開き、編集しようとすると変更できる。
3、 Aの端末にエディタ以外から編集された旨のメッセージが表示される。
やはり、作業フォルダが共有されていそうな気がします。
2番 -> 中さんも書かれていますが、Visual Source Safe は、ファイルをチェックアウトすると作業フォルダのファイルの読み取り専用属性を OFF (書き込み可)にしますから、Aが排他チェックアウトすると、Bがチェックアウトしていなくても書き込みできてしまうのでしょう。
3番 ->Visual Studio は 開いているファイルが外部エディタ等で変更されタイムスタンプが変わると、それを検出してダイアログを出しますから、Bがファイルを変更すると Aの Visual Studio でその旨のダイアログメッセージが表示されているものと思います。
すべての返信
-
-
Akira Inoue様、中博俊様、早速のご回答ありがとうございます。
chack - Akira Inoue さんからの引用 VSS + VSS2005 とは Visual Studio 2005 + Visual Source Safe (6.0 or 2005) ということでしょうか?
失礼しました。環境としては、Visual Studio 2005 + Visual Source Safe 2005です。
各ユーザの作業フォルダの設定、、、なるほど。まず、そこを確認してみます。
手順としては、A、B二つのユーザを想定すると、
1、 Aがソースを排他的にチェックアウトする。
2、 Bが同じソースを開き、編集しようとすると変更できる。
3、 Aの端末にエディタ以外から編集された旨のメッセージが表示される。
という流れです。
-
mst-ill さんからの引用 手順としては、A、B二つのユーザを想定すると、
1、 Aがソースを排他的にチェックアウトする。
2、 Bが同じソースを開き、編集しようとすると変更できる。
3、 Aの端末にエディタ以外から編集された旨のメッセージが表示される。
やはり、作業フォルダが共有されていそうな気がします。
2番 -> 中さんも書かれていますが、Visual Source Safe は、ファイルをチェックアウトすると作業フォルダのファイルの読み取り専用属性を OFF (書き込み可)にしますから、Aが排他チェックアウトすると、Bがチェックアウトしていなくても書き込みできてしまうのでしょう。
3番 ->Visual Studio は 開いているファイルが外部エディタ等で変更されタイムスタンプが変わると、それを検出してダイアログを出しますから、Bがファイルを変更すると Aの Visual Studio でその旨のダイアログメッセージが表示されているものと思います。
-
中博俊 さんからの引用 VSSを使う場合には共有フォルダなどは使わずに、ローカルに環境を作り上げてください。
多分これだと思います。
現在やろうとしている運用は、
1、共有フォルダのslnファイルをVisual Studioで開く。
2、修正したいファイルをチェックアウトし編集。
3、編集完了後、チェックイン。
という流れを考えていたのですが、これはまずいのですね。
正しい運用は
1、編集着手前にローカルの作業フォルダにファイルを取得しサーバと同期をとる。
2、作業フォルダのslnファイルをVisual Studioで開く。
3、修正したいファイルをチェックアウトし編集。
4、編集完了後、チェックイン。
という流れでよろしいのでしょうか。