Visual Studio .NETによるチーム開発事始め

Visual SourceSafeを使いこなす

デジタルアドバンテージ
2004/02/21
Page1 Page2 Page3 Page4

2. ソース管理への追加と削除

 通常の開発では、コーディングが進むにつれ、プロジェクトにソース・ファイルを追加したり、ソリューションにプロジェクトを追加したりするだろう。では、ソース管理されたVS.NETのプロジェクトやソリューションでこのような作業を行うにはどのようにすればよいのだろうか。ここでは、VS.NETでファイルやプロジェクトをVSSデータベースに追加したり、VSSデータベースから削除したりする方法について解説する。

■ファイルやプロジェクトの追加

 ソース管理されているVS.NETのプロジェクトで、ファイルの追加を行うのは簡単である。通常どおりVS.NETのメニュー・バーの[ファイル]―[新規作成]―[ファイル]を実行するだけだ。これによりファイルが追加されるが、追加された直後に[編集するためにチェックアウト]ダイアログが自動的に表示される。これは、前回の記事で解説した[編集するためにチェックアウト]ダイアログと同じものだ。よって、操作方法は前回の記事を参考にしてほしい。

 このダイアログを確定すると、新規に追加したソース・ファイルがチェックアウトされる。このように新規にファイルを追加した直後に、チェックアウト処理が実行される理由は、ファイルを追加した直後はそのファイルの初期開発を行うことを想定しているためである。その初期開発が終わった段階でVSSデータベースにチェックインするという順序になる。チェックインの方法は前回の記事を参考にしてほしい。

 新しいプロジェクトを追加する場合も基本的にファイルの追加の手順と同じだ。通常どおりメニュー・バーの[ファイル]―[新規作成]―[プロジェクト]を実行する。すると、ファイルの追加のときと同じように[編集するためにチェックアウト]ダイアログが表示される。あとはこのダイアログを確定して、プロジェクトのチェックアウトを行い、プロジェクトの初期開発が終了した段階でチェックインする。

 このようにVS.NETでファイルやプロジェクトを追加する場合は、ソース管理への追加もVS.NETから自動的に行えるようになっている。しかし、ファイルやプロジェクトの削除、名前の変更は、これと同じようにVS.NETだけで行うことはできない。なぜなら、例えばVS.NETでファイルを削除しても、VSS側には反映されないからである。逆に、VSSでファイルを削除した場合も同様にVS.NETに反映されない。

 では、どうやってファイルの削除やプロジェクトの名前の変更を行うのだろうか。これには、VS.NETとVSSエクスプローラを組み合わせて作業をするしかない。それでは、この方法について解説しよう。

 まずはファイルを削除する手順について説明する。

■VSSでのファイルの削除

 ファイルの削除でまず最初に行うのが、削除対象のファイルをチェックアウトしている人がいないかどうかを確認する作業である。この作業には、VSSエクスプローラを使う必要がある。VSSエクスプローラを起動するには、VS.NET IDEのメニューから、[ファイル]―[ソース管理]―[Microsoft Visual SourceSafe]をクリックして実行する。すると、VSSエクスプローラが立ち上がるはずだ。

VSSエクスプローラでチェックアウトの確認
削除対象のファイルが、だれからもチェックアウトされていないのを確認するために、VSSエクスプローラを使う。
  削除対象のファイルがあるフォルダ(この例では、「$/BlogX/WeblogX/」)を選択する。
  すると、右側にフォルダ内のファイルの一覧が表示されるので、削除対象のファイル(この例では「AssemblyInfo.cs」)を参照する。このファイルがノーマル表示()ではなく赤い表示()の場合はチェックアウトされているので、右に表示されているユーザーに問い合わせて、チェックインしてもらう。

 VSSエクスプローラでは、[項目一覧]で削除対象のファイルを参照し、そのファイルがチェックアウトされていないのを確認する。

 だれからもチェックアウトされていなければ、次にVSSデータベース上からソース・ファイルを削除する。これを行うには、削除したいファイルの上で右クリックしてコンテキスト・メニューを表示し、そのメニューの中の[削除]を実行する。すると次の[削除]ダイアログが表示されるはずだ。

[削除]ダイアログ
VSSエクスプローラでファイルを削除するときに表示される。
  削除対象の項目名が表示される。この例では「AssemblyClass.cs」が表示されている。
  [完全に破棄]のチェック・ボックスにチェックを入れると、VSSデータベースから完全に削除されて2度と復元できなくなる。
  [OK]ボタンをクリックするとVSSデータベースから削除される。

 基本的には、このダイアログの[完全に破棄]のチェック・ボックスをチェックせずに[OK]ボタンをクリックする。これによって、VSSデータベース上からファイルが削除される。なお、このチェックを付けて削除すると、削除したファイルを2度と復元できなくなる。

 以上でVSSデータベース上のソース・ファイルは削除できた。しかし、実はVS.NET側のファイルは削除できていない。このVS.NET側のファイルは確かにVSSデータベースより取得したものだが、VSSデータベースはその取得されたファイルまでは管理しないため、VSSデータベース上のファイルを消してもVS.NET側のファイルは消されないのだ。このVS.NET側のファイルを管理しているのはVS.NETだけなので、開発者が個別にVS.NETのIDEからファイルを削除する必要がある。

■VS.NETでのファイルの削除

 VS.NETを使ってファイルを削除するには、VS.NETの[ソリューション エクスプローラ]で削除したいファイルの上で右クリックしてコンテキスト・メニューを表示し、そのメニューの中から[最新バージョンの取得]を実行する。すると、そのファイルがチェックアウトした状態()で表示されるはずだ。なお、ファイルがすでにチェックアウトした状態で表示されている場合は、[最新バージョンの取得]を実行する必要はない。

 削除するファイルがチェックアウトされた状態で、そのファイルを再度右クリックしてコンテキスト・メニューを呼び出し、そのメニューから[削除]を選択する。すると「'<ファイル名>'は完全に削除されます。」というメッセージが表示されるので、そこで[OK]を実行する。

 ファイルを削除するとプロジェクト構成が変わるので、プロジェクトをチェックアウトするための[編集するためにチェックアウト]ダイアログが自動的に表示される。そこでそのままチェックアウトを行う。そして、プロジェクトを確実に保存した上で、再度プロジェクトをチェックインする。

 以上でファイルの削除は完了だ。なお、そのほかのチーム開発者が削除したファイルをVS.NETに反映させるには、ファイルの削除を行った「プロジェクト」で[最新バージョンの取得]を実行すればよい。ここで、ファイルではなくプロジェクトの最新バージョンを取得する理由は、ファイルの削除によってプロジェクト構成が変更されているからである。

■ソリューションやプロジェクトの削除

 ソリューションやプロジェクトの削除もファイルの場合とほぼ同じ手順で行うことができる。ただし、プロジェクトやソリューションにWebアプリケーションを含む場合は、IISの仮想ディレクトリも忘れずに削除する必要がある。

■ファイル名の変更

 次はファイル名の変更を解説しよう。といっても、ファイルの削除とほとんど同じような手順である。

 まず名前を変更するファイルがだれからもチェックアウトされていないかを確認する。チェックアウトされていなければ、名前を変更するファイルの上で右クリックしてコンテキスト・メニューを表示して[名前の変更]を実行する。そうすると、ファイル名が編集可能になるので、そのまま名前を変更して確定する。

 以上でVSSデータベース側のファイル名の変更は完了だ。

 次にVS.NET側のファイル名を変更する。これを行うには、[ソリューション エクスプローラ]で名前を変更するファイルの上で右クリックしてコンテキスト・メニューを表示し、そこから[最新バージョンの取得]を実行する。すると、そのファイルがチェックアウトした状態()で表示されるはずだ。なお、ファイルがすでにチェックアウトした状態で表示されている場合は、[最新バージョンの取得]をする必要はない。

 名前を変更するファイルがチェックアウトされた状態で、そのファイルを再度右クリックしてコンテキスト・メニューを呼び出し、そのメニューから[名前の変更]を実行する。そうすると、そのファイルが所属するプロジェクトの構成が変わるので、プロジェクトをチェックアウトするための[編集するためにチェックアウト]ダイアログが自動的に表示される。そのままプロジェクトのチェックアウトを行うと、次の警告メッセージが表示される。

名前を変更するときに表示される警告メッセージ
  次回からこのダイアログを表示せずに常に[変更点を反映して継続]を実行したい場合にチェックを入れる。
  名前変更の処理を継続する。
  処理をキャンセルする。
  ヘルプを表示する。

 ここで、[変更点を反映して継続]を実行する。そうすると、名前を変更したファイルは自動的にチェックインされる。しかし、プロジェクトはチェックアウトされたままになっているので、プロジェクトを確実に保存して、再度プロジェクトをチェックインする。

 以上で名前の変更は完了である。なお、そのほかのチーム開発者が名前を変更したファイルをVS.NETに反映させるには、ファイル名を変更した「プロジェクト」で[最新バージョンの取得]を実行すればよい。

■プロジェクト名の変更

 プロジェクト名の変更については複雑な作業を伴うので本稿では割愛させていただく。またプロジェクト名の変更は、その難しさゆえトラブルが発生しやすいと考えられるので、できればプロジェクト名は変更せずに、ほかの手段で解決することをお勧めする。もしどうしてもプロジェクト名を変更する必要がある場合には、MSDN:「Visual Studio .NET と Visual SourceSafe を使用したチーム開発」の「プロジェクト名の変更」を参考にしていただきたい。

 以上、ファイルやプロジェクトの追加/削除/名前の変更を解説したが、このような変更を繰り返すと、現在のソリューションがVSSデータベースと完全に正しく同期しているか分からなくなることもあるかもしれない。そのような場合には、一度ローカルのソリューション全体を削除して、新たにVSSデータベースからソリューション全体を取得し直した方が確実だろう。ただしその前に、ローカル・ディスクのソース・ファイルのバックアップを取っておくことをお勧めする。


 INDEX
  Visual Studio .NETによるチーム開発事始め
  Visual SourceSafeを使いこなす
    1.多重チェックアウト・モードでのチェックアウト
    2.多重チェックアウト・モードでのチェックイン
  3.ソース管理への追加と削除
    4.バージョン・ラベルの設定と取得
 
インデックス・ページヘ  「Visual Studio .NETによるチーム開発事始め」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間