Microsoft Build 2023で発表があった開発ドライブ (Dev Drive)が使えるようになりました。さっそく、開発ドライブを作成・設定しました。今回も、開発ドライブを作成した後の各種設定(TFVC)について説明します。
開発ドライブ (Dev Drive)とは
開発ドライブ (Dev Drive)の説明、要件、作成方法などは、前々回の投稿で説明しましたので、説明は省略します。前々回の投稿を参照してください。
開発ドライブの作成後の設定
今回も開発ドライブを作成した後の、開発環境の設定について説明します。
開発ドライブは、レポジトリ(ソースコード)の保存先やパッケージキャッシュの保存先の利用が想定されています。しかし、開発ドライブを作成しただけでは、これらのものが自動的に開発ドライブに移動することはありません。
そのため、開発ドライブを作成した後は、
- ソースコードを移動 (前回の投稿で説明済み。今回 TFVC の説明を更新)
- ソースコードの置き場所の既定値の設定の変更 (前回の投稿で一部説明済み)
- パッケージキャッシュの保存先の変更 (前回の投稿で一部説明済み)
などの作業をする必要があります。
以降は、以下の前提で説明をします。
- 開発ドライブ作成前の既存のレポジトリの保存先:
C:\Repos\
- 開発ドライブ作成前の既存のパッケージ キャッシュの保存先: それぞれのパッケージキャッシュの既定のフォルダー
- 作成した開発ドライブのドライブレター:
Dドライブ
- 開発ドライブ上の新たなレポジトリの保存先:
D:\Repos\
- 開発ドライブ上の新たなパッケージ キャッシュの保存先:
D:\Packages\
- D:\Packages\nuget\
異なるパスを利用していた場合は、各自が使用する値に読み替えてください。
レポジトリの移動
開発ドライブを作成しても、レポジトリの保存先を開発ドライブに変更しなければ意味がありません。
ソースコードは、新たにレポジトリーサーバーから開発ドライブ上に展開しても構いません。しかし、ソースコードのサイズやファイル数が多い場合は、既存のレポジトリフォルダー(C:\Repos\
)を丸ごと新しいレポジトリフォルダー(D:\Repos\
)にコピーするなどの対応をします。
git 系のレポジトリ フォルダー
前回の投稿で説明済みです。前回の投稿を参照してください。
TFVC 系のレポジトリフォルダー
TFVC (Team Foundation Version Control、Team Foundation バージョン管理)では、ローカルPC側に展開しているワークスペースの作業フォルダーのフォルダーパスもTFVC サーバーで管理されています。
前回 、TFVC のレポジトリの場所の変更方法として、レポジトリフォルダーを丸ごとコピーし、隠しフォルダーを削除する方法を紹介しました。しかし、サーバーで管理しているワークスペースのフォルダーパスの設定変更が必要であることを説明していませんでした。コピーした後にはサーバーで管理している作業フォルダーのフォルダーパスの設定変更が必要です。
上記の手順でも問題はないのですが、最適ではありませんでした。
最適な方法は、サーバーが管理しているワークスペースの作業フォルダーのフォルダーパスの設定変更することのみです。元のレポジトリフォルダーにあるファイルを新しいレポジトリフォルダーにコピー・移動は必要ありません。しかし、元のレポジトリ フォルダーは消さずに残しておきます。
この方法の場合、古いレポジトリ フォルダーから新しいレポジトリ フォルダーへのファイルの移動はTFVCサーバーからソースを取得するときに自動的に行われます。新しいレポジトリ フォルダーで、TFVC サーバーからファイルを取得すると、取得対象のファイルが古いレポジトリ フォルダーにあれば新しいレポジトリ フォルダーに移動されます。その後、TFVC サーバー側のファイルがもっと新しければ、それがダウンロードされます。
TFVC ワークスペースのレポジトリ フォルダーのパスの設定変更
TFVC のワークスペースのレポジトリ フォルダーを新しいレポジトリ フォルダーに変更するときは、ワークスペースの設定を変更します。
TFVC のワークスペースの作業フォルダー設定変更の手順を説明します。
Visual Studio 2022での画面キャプチャーで説明します。
ワークスペースの設定画面を開く
ワークスペースの設定画面を開くために、まず、「チーム エクスプローラー」パネルを表示します。メニューの「表示 → チーム エクスプローラー」からパネルを開きます。
そして、「チーム エクスプローラー」のホーム画面から「ソース管理エクスプローラー」をクリックして「ソース管理エクスプローラー」を開きます。
つぎに、「ソース管理エクスプローラー」の上部にある「ワークスペース」のプルダウン リスト ボックスを開きます。
リスト ボックスの項目の「ワークスペース…」をクリックします。
ワークスペースの設定を変更する
すると、「ワークスペースの管理」画面が開きます。実行しているコンピューターに展開しているワークスペースの一覧が表示されます。
左下の「リモート ワークスペース を表示する」のチェック ボックスをチェックすると実行しているコンピューター以外のワークスペースも確認できます。
ワークスペースのパスを、追加した開発ドライブに変更するために、対象のワークスペースを選択し、「編集」ボタンをクリックします。
すると、選択したワークスペースの作業フォルダーの一覧 (各ソース管理フォルダーのローカルフォルダーへのマッピング状況) が表示されます。
TFVC のワークスペースでは作業フォルダーとしてソース管理のフォルダーごとに異なるローカルフォルダーのパスを設定することができます。また、ソース管理の一つのフォルダーにローカルフォルダーを設定すると、サブフォルダーは再帰的にマッピングされます(ローカルフォルダーが明示的に設定されているサブフォルダーを除く)。
しかし、ソース管理のフォルダーごとに作業フォルダーとして異なるローカルフォルダーパスを設定していると、管理が大変です。
そのため、私は、上記の画面の例のように、ソース管理のトップフォルダーのみ、作業フォルダーとしてローカルフォルダーを設定しています。その結果、ワークスペースのトップフォルダー($/
)のみがローカルフォルダー (C:\repos\nsw\
) にマッピングされています。この状態は、サブフォルダーの作業フォルダーも再帰的にマッピングされていることになります。
この既存のローカルフォルダーのパス(C:\repos\nsw\
) を、新しい開発ドライブのパス(D:\repos\nsw\
) に変更します。今回は、変更前と変更後でフォルダー構成は同じにするため、ドライブレターのみを変更します。
変更が完了したら、「OK」ボタンをクリックします。これで、作業フォルダーの設定変更は完了です。
最新のファイルの取得
作業フォルダーの設定変更が完了すると、作業フォルダーが変更されているため、最新ファイルをすぐに取得するかどうかの確認がされます。
ここでは「はい」、「いいえ」のどちらを選んでもかまいません。古いレポジトリフォルダーのファイルを再利用するタイミングが異なるだけです。
「はい」(今すぐ最新ファイルを取得する)
「はい」をクリックすると、古い作業フォルダーのファイルを利用しつつ、TFVC サーバーから最新版のファイルを取得します。トップフォルダーのみの作業フォルダーとして設定しているときに、「はい」選択して最新ファイルを取得すると、レポジトリ全体を取得することになります。
対象のレポジトリが大きい場合は、最新のファイルの取得が完了するまでに、時間がかかります。
レポジトリ全体を取得したときは、古いレポジトリフォルダー(作業フォルダー)からのファイルの移動は完了しています。古いレポジトリフォルダーからのファイルの再利用は完了しているので、古いレポジトリフォルダーはすぐに削除できます。
「いいえ」(今すぐ最新ファイルを取得せず、あとで取得する)
「いいえ」をクリックすると、すぐに完了します。
「いいえ」を選んだ場合、古いレポジトリフォルダーのファイルが再利用されるのは、ソース管理のフォルダーの最新ファイルを取得したタイミングとなります。
そのため、古いレポジトリフォルダーのファイルを再利用したい場合には、作業フォルダーの設定を完了した後も、古いレポジトリフォルダーを消さずに残しておく必要があります。もし、ファイルが再利用される前に古いレポジトリフォルダーを削除した場合は、すべてのファイルが TFVC サーバーから取得されます。
TFVC における古いレポジトリーフォルダーのファイルの再利用
TFVC レポジトリにおける、古いレポジトリフォルダーのファイルの再利用についてまとめると以下の通りです。
TFVC のレポジトリの場合は、
- 既存のレポジトリフォルダーを、追加した開発ドライブへ変更するときは、手動によるファイルのコピーや移動は必要ない
- ワークスペースの設定で作業フォルダーのパスを変更するだけでよい
- 古いレポジトリフォルダーからファイルが再利用されるタイミングは、ソース管理のフォルダーの最新のファイルを取得したタイミング
- 古いレポジトリフォルダーのファイルの再利用をしたい場合は、再利用が完了するまで、古いレポジトリフォルダーを残しておく必要がある
- 再利用が完了する前に古いレポジトリフォルダーを消したとしても、データロストにはならず、その場合は、すべてのファイルがTFVCサーバーから取得される
今回の投稿では開発ドライブを作成した後の、TFVC レポジトリの作業フォルダーの設定変更と古いレポジトリフォルダーのファイルの再利用について説明しました。
“開発ドライブ(Dev Drive) #3 TFVC レポジトリ フォルダー” への1件の返信