1

私は Visual Source Safe 6.0d (作業要件) を使用しており、ソース ツリーを簡単に削除したり、ファイルをチェックアウトした場合に警告を表示して、誤って作業を削除しないように注意してください。ファイル自体の読み取り専用ビットをチェックする以外に、ファイルがチェックアウトされているかどうかを確認する方法はありますか?

  1. VSS はファイルを書き込んでいないようです (ファイルをチェックアウトする前後にディレクトリのスナップショットを撮りましたが、リストされたファイルに違いはありませんでした)。
  2. グーグルで何かを見つけることができないようです。
  3. vssver.scc の違いも確認しましたが、何も見つかりませんでした。

書き込み可能なファイルをチェックすることは世界で最悪のことではありませんが、VSS がソース ツリー (*.ncb、*.scc、*.sln) 内のいくつかのファイルを、何もチェックアウトしなくても書き込み可能にしているようです。ファイルを単純に除外できますが、もう少し洗練された解決策を見つけようとしています。

4

2 に答える 2

3

COM を使用して、ファイルがチェックアウトされているかどうかを確認できます。IVSSItem.IsCheckedOutプロパティを見てください。COM を介した VSS の使用の詳細については、次を参照してください。

http://msdn.microsoft.com/en-us/library/4d44xhsd%28VS.80%29.aspx

于 2009-06-22T17:06:04.857 に答える
2

おそらく最も堅牢な手法は、SourceSafe 自体に、何がチェックアウトされているか、または対象の個々のファイルがチェックアウトされているかどうかを確認することです。小さなシェル スクリプトでこれを行う方法が明らかでないことは理解していますが、これにはPowerShellを使用することをお勧めします。

SourceSafe はOLE オートメーション オブジェクト モデル(COM オブジェクト モデルとも呼ばれます) を公開し、PowerShell は COM オブジェクトと通信できます。このようなことに慣れていない場合、学ぶことはたくさんありますが、最終的にはそれだけの価値があります。

または、PowerShell があまりにも異質である場合は、VBScript を使用して COM オブジェクトを制御することもできます。

于 2009-06-22T17:15:42.710 に答える