VSS から TFSへの移行 - 8.3形式編

 

こんにちは。Visual Studio サポート チームです。

前回のこちらの投稿に続き、今回はVisual SourceSafe (VSS)から Team Foundation Server (TFS)へ移行について – MSDOS 8.3形式のファイル名をもつソースの移行についてのお話です。

これまで長きにわたりVSSをご利用いただいていた場合には、VSSで管理されたソースがTFSのソース管理上移行が可能な形式であるかを事前に確認する必要があります。

その中の一つとして、VSSのソースでMS-DOS 互換の短い名前 (8.3) 形式のファイル名を使用している場合には注意が必要です。

MS-DOS 互換の短い名前 (8.3) 形式 は、 TFS では有効なパス名とはなりません。そのため、TFSに移行前に修正することをお勧めします。

ただ、環境上、運用上の諸事情により、移行後に編集をしたい場合があるかもしれません。

その場合は、一時的に 8.3形式を有効化して再度無効化することができます。

 

Visual SourceSafe からアップグレードした後の手順の実行 - MS-DOS 互換の短い名前 (8.3) 形式のファイルの変換 (TF227014)

https://msdn.microsoft.com/ja-jp/library/ms253170.aspx#problem_8dot3paths

 

ここに記載されているスクリプトのバージョン番号は、

  Visual Studio 2010:  Version=10.0.0.0

  Visual Studio 2012:  Version=11.0.0.0

  Visual Studio 2013:  Version=12.0.0.0

のようになります。

アセンブリは、Microsoft.TeamFoundation.Client なので、Visual Studio がインストールされている環境で実行して下さい。

 

Visual Studio 2013 で配布される アセンブリは .NET Framework 4.0 のアセンブリとなるため、PowerShell 3.0 が必要になります。

Windows8 以降では、PowerShell 3.0が標準で入っています。それ以前の バージョンでは、Windows Management Framework 3.0のインストールが必要となります。

 

Windows Management Framework 3.0

https://www.microsoft.com/en-us/download/details.aspx?id=34595

 

ここからは、ご参考までの情報です。

 

このラインがうまく動作しない場合は、

$collectionHive.ReadEntries("/Service/VersionControl/Settings/...") | ft -a

 

このように変更して試して下さい。

$collectionHive.ReadEntries("/Service/VersionControl/Settings/...")

 

また、移行先環境に TFS2005 および TFS2008をご利用いただく場合には、以下のKBもご参照ください。

Visual Studio の Team Foundation Server を Visual SourceSafe からいくつかのパスが無効であるを移行できません。(自動翻訳)

https://support.microsoft.com/kb/951195/ja

――

なお、この8.3 形式 懐かしいと思われた方、長い経験を積まれてますね。

8.3 形式 何それ?みたことないな?? という方、おそらく、今後、出会う機会は無いのではと思います。