Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

ファイルの一時保存にはTeam Foundation Server 2010のシェルブが便利

シェルブ機能

最近、VSSからTeam Foundation Server 2010(以降TFS)に移行しました。

VSSを使っていた頃、「今まで修正したソースコードは残しておきたいけど、VSSから最新のソースコードを取得して作り直したい」という場合は、ローカルPCにファイルのバックアップを保存していました。

TFSではそんなことする必要はありません。シェルブという機能があるからです。シェルブはチェックインされているファイルとは別の領域に一時的にファイルを保存する機能です。

使ってみる

実際に使ってみましょう。

最新のソース
using System;
namespace PrimeArch.Manager.Web {
    public partial class Default1 : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            
        }
    }
}

これが現時点でチェックインされている最新のソースだとします。

一度目の修正
using System;
namespace PrimeArch.Manager.Web {
    public partial class Default1 : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            Console.WriteLine("Hoge");
        }
    }
}

手を入れました。
にもかかわらず修正が間違っていたようです。やり直さなくてはなりません。だけど念のためこのソースは残しておきたい。

そんなときシェルブです。

変更をシェルブする


編集したファイルを右クリックして、[保留中の変更をシェルブ]を選択します。

[シェルブセット名]を入力し、[シェルブ]ボタンをクリックします。これでTFSにファイルのセットが保存されました。

using System;
namespace PrimeArch.Manager.Web {
    public partial class Default1 : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            Console.WriteLine("Foo");
        }
    }
}

再変更し、チェックインしました。
ところが、最初の変更が正しかったことが後から判明しました。

アンシェルブ

アンシェルブで最初の変更状態に戻します。


編集したファイルを右クリックして、[保留中の変更をアンシェルブ]を選択します。


先ほど保存したシェルブセットを選択し、[アンシェルブ]ボタンをクリックします。

using System;
namespace PrimeArch.Manager.Web {
    public partial class Default1 : System.Web.UI.Page {
        protected void Page_Load(object sender, EventArgs e) {
            Console.WriteLine("Hoge");
        }
    }
}

これでソースコードが最初に変更されたものに戻りました。