VisualStudio6.0とVisualBasic6.0を使用しています。
それらを統合しましたが、プロジェクトをチェックアウトしてからそのプロジェクトのモジュールを編集しようとすると、ロックされており、手動で右クリックしてチェックアウトを実行してロックを解除する必要があります。
VSSが編集のためにファイルを自動的にチェックアウトする方法があると思いました。
助言がありますか?
VisualStudio6.0とVisualBasic6.0を使用しています。
それらを統合しましたが、プロジェクトをチェックアウトしてからそのプロジェクトのモジュールを編集しようとすると、ロックされており、手動で右クリックしてチェックアウトを実行してロックを解除する必要があります。
VSSが編集のためにファイルを自動的にチェックアウトする方法があると思いました。
助言がありますか?
ここでクリスに同意します。今、私はあなたの「ソフトウェアが悪臭を放つ」と言っている多くの人々があなたの質問に本当に答えていないことを知っています。しかし、チェックアウトスタイルのソース管理とSourceSafeのようなファイルロックシステムには違いがあります。一般的なコンセンサスは、チェックアウトシステムがはるかに優れているということです。
チェックアウトでは、リポジトリからプロジェクトをチェックアウトします。すべてのファイルは編集可能です。通常どおりプロジェクトに取り組みます。次に、チェックインする前に、別の更新を行います。チームの他の誰かが更新を行った場合、ソフトウェアは自動的に変更をコードにマージします。マージを確認し、競合を解決する機会があります。更新後、他のすべての人が取得できる変更をチェックインできます。
大きな怖い部分はマージ部分です。コマンドラインツールだけを使用するCVSとSubversionは、マージで何が起こったのかを取得するのが面倒だったため、少し怖かったです。しかし、Tortoiseのような今日のツールでは、すべて視覚的です。ここ数年、自動マージが失敗した例は考えられません。競合(基本的に2人が同じコード行を編集する)は、解決するためにここに表示されます。
「チェックアウトされていないファイルには読み取り専用フラグを使用する」というラベルの付いた「ローカル ファイル」タブの下に、SourceSafe のオプションがあります。デフォルトでは、このオプションが選択されていますが、選択を解除すると、チェックアウトせずにプロジェクト内の任意のファイルを編集できるようになります。
このオプションをオフにすると、プロジェクトの最新バージョンを取得して、すべてのファイルから読み取り専用フラグを削除できます。
ファイルをチェックアウトすると、そのファイルの書き込み可能なコピーが作業フォルダにあるという警告が表示されます。その時点で、それを SourceSafe データベースのバージョンに置き換えることができます。
私はこれを行う方法を考え出したことがありません。それはいつも大きな痛みでした。否定的な回答を投稿して申し訳ありませんが、これを嫌っているのはあなただけではなく、すぐに明白な回答がなかったことを知りたいと思うかもしれません. 誰かが解決策を知っている場合に備えて、私はあなたと一緒にこの質問に従います...
これが可能だとは思いません (少なくとも 8 年前に VSS を使用したときはそうではありませんでした)。実際の非ロック スタイルのソース管理ソリューション。SVN、CVS、Git、Mecruial、ファイルをロックせず、独自のファイル システムにソースを残さないもの。私たちは 8 年前に CVS に切り替えました。これは、VSS の不具合によりソース履歴がすべて失われたためです (コードはチェックアウトされていたため、取得可能でした)。これまでで最高のことで、コラボレーションが 10 倍簡単になりました。現在、CVS は最適なソリューションではありません (当時は Windows にとって最も合理的なソリューションでした) が、VSS より優れているものは何でもあります。
私が見つけた最善の解決策は、すべてのファイルをチェックアウトすることでした。それを行う方法を理解するために少し突っついた. 方法は次のとおりです: VSS からすべての VB6 プロジェクト ファイルをチェックアウトするには?
プロジェクトをチェックアウトしてからそのプロジェクトのモジュールを編集しようとすると、ロックされており、手動で右クリックしてチェックアウトを実行してロックを解除する必要があります
好むと好まざるとにかかわらず、設計上はそのように動作します。つまり、すべてのファイルをチェックアウトできますが、デフォルトのオプションではなく、明示的に選択する必要があります。これは、すべてのモジュール (クラス モジュール、フォーム、ユーザー コントロールなど) をチェックアウトすると、他のすべてのユーザーがプロジェクト全体からロックアウトされるためだと思います。これは通常、チーム コラボレーション環境では望ましくありません。