none
VSS2005でのソース管理法 RRS feed

  • 質問

  • みなさん、はじめまして。mst-illと申します。

    早速ですが、本題に入りたいと思います。

    現在、ソース管理のためにVSS+VSS2005の検証を行っていますが、あるユーザー(特定のユーザーではない)で排他的にチェックアウトしたソースが、他のユーザーにより変更できてしまします。

    変更された時にはチェックアウトしているほうの画面にエディター以外でソースが変更された旨の表示がなされます。もちろん、VSSのエディターからの操作であり、ソリューションエクスプローラには排他的にチェックアウトされている旨のアイコンが表示されています。また、複数チェックアウトを許す設定にはしていません。

    何か設定上のミスでしょうか?ご存知の方がいらっしゃればご教授ください。

    よろしくお願いします。

    2007年3月3日 6:51

回答

  • 同一端末で、複数ユーザってことですか?それか共有フォルダかな。

    2番はおそらくそのファイルが読み取り専用じゃない、チェックアウト状態と認識しているということで説明できそうです。

    3が理解できません。

    共有フォルダとかで編集してますか?

    VSSを使う場合には共有フォルダなどは使わずに、ローカルに環境を作り上げてください。

    2007年3月4日 2:48
  •  mst-ill さんからの引用

    手順としては、A、B二つのユーザを想定すると、

    1、 Aがソースを排他的にチェックアウトする。

    2、 Bが同じソースを開き、編集しようとすると変更できる。

    3、 Aの端末にエディタ以外から編集された旨のメッセージが表示される。

    やはり、作業フォルダが共有されていそうな気がします。

    2番 -> 中さんも書かれていますが、Visual Source Safe は、ファイルをチェックアウトすると作業フォルダのファイルの読み取り専用属性を OFF (書き込み可)にしますから、Aが排他チェックアウトすると、Bがチェックアウトしていなくても書き込みできてしまうのでしょう。

    3番 ->Visual Studio は 開いているファイルが外部エディタ等で変更されタイムスタンプが変わると、それを検出してダイアログを出しますから、Bがファイルを変更すると Aの Visual Studio でその旨のダイアログメッセージが表示されているものと思います。

    2007年3月4日 9:37
  • 作業フォルダは、作業を行うマシンのローカルHDDに設定し、そこは他のマシンとは共有しません。

    もし、ディスクスペースなどの問題で空きが足りなくなるというばあいは、チェックイン時に削除するというオプションがあるので、それを利用します。

    VSSを使って共有管理を行っていますので、別の手段を使う必要はないということです。

    どのようなソース管理システムを利用するかにかかわりなく、チェックアウトはかならず作業者個人に割り当てられるように運用方法をきめるのがポイントです。

     

    2007年3月5日 6:01

すべての返信

  •  mst-ill さんからの引用

    現在、ソース管理のためにVSS+VSS2005の検証を行っていますが、あるユーザー(特定のユーザーではない)で排他的にチェックアウトしたソースが、他のユーザーにより変更できてしまします。

    VSS + VSS2005 とは Visual Studio 2005 + Visual Source Safe (6.0 or 2005) ということでしょうか?

    現象から察するに、各ユーザの作業フォルダがファイルサーバなどの共有フォルダに設定されていて、同じフォルダを使用しているっていうことはないですか?

    2007年3月3日 9:30
  • どういう手順でっていうのがわかりません。

    手順を教えてください。

    2007年3月3日 12:42
  • 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の端末にエディタ以外から編集された旨のメッセージが表示される。

    という流れです。

     

    2007年3月4日 0:24
  • 同一端末で、複数ユーザってことですか?それか共有フォルダかな。

    2番はおそらくそのファイルが読み取り専用じゃない、チェックアウト状態と認識しているということで説明できそうです。

    3が理解できません。

    共有フォルダとかで編集してますか?

    VSSを使う場合には共有フォルダなどは使わずに、ローカルに環境を作り上げてください。

    2007年3月4日 2:48
  •  mst-ill さんからの引用

    手順としては、A、B二つのユーザを想定すると、

    1、 Aがソースを排他的にチェックアウトする。

    2、 Bが同じソースを開き、編集しようとすると変更できる。

    3、 Aの端末にエディタ以外から編集された旨のメッセージが表示される。

    やはり、作業フォルダが共有されていそうな気がします。

    2番 -> 中さんも書かれていますが、Visual Source Safe は、ファイルをチェックアウトすると作業フォルダのファイルの読み取り専用属性を OFF (書き込み可)にしますから、Aが排他チェックアウトすると、Bがチェックアウトしていなくても書き込みできてしまうのでしょう。

    3番 ->Visual Studio は 開いているファイルが外部エディタ等で変更されタイムスタンプが変わると、それを検出してダイアログを出しますから、Bがファイルを変更すると Aの Visual Studio でその旨のダイアログメッセージが表示されているものと思います。

    2007年3月4日 9:37
  •  中博俊 さんからの引用

    VSSを使う場合には共有フォルダなどは使わずに、ローカルに環境を作り上げてください。

    多分これだと思います。

    現在やろうとしている運用は、

     1、共有フォルダのslnファイルをVisual Studioで開く。

     2、修正したいファイルをチェックアウトし編集。

     3、編集完了後、チェックイン。

    という流れを考えていたのですが、これはまずいのですね。

    正しい運用は

     1、編集着手前にローカルの作業フォルダにファイルを取得しサーバと同期をとる。

     2、作業フォルダのslnファイルをVisual Studioで開く。

     3、修正したいファイルをチェックアウトし編集。

     4、編集完了後、チェックイン。

    という流れでよろしいのでしょうか。

    2007年3月5日 2:17
  • 作業フォルダは、作業を行うマシンのローカルHDDに設定し、そこは他のマシンとは共有しません。

    もし、ディスクスペースなどの問題で空きが足りなくなるというばあいは、チェックイン時に削除するというオプションがあるので、それを利用します。

    VSSを使って共有管理を行っていますので、別の手段を使う必要はないということです。

    どのようなソース管理システムを利用するかにかかわりなく、チェックアウトはかならず作業者個人に割り当てられるように運用方法をきめるのがポイントです。

     

    2007年3月5日 6:01