終わるのはWindows XPだけじゃなかった

釣りっぽいタイトルですが、小ネタです。w

とある調べもので、Visual SourceSafe 2005のシステム要件をチェックしたのですが、そこで驚愕の事実
が...

対象オペレーティングシステム:Windows XP, Windows Server 2003, Windows 2000

(;゚Д゚)

Windows XPが終了したら、Visual SourceSafeも終了ってことですか??

セキュリティが厳しい会社だと、「Windows XPのサポート終了に伴い、ネットワークに接続できなくなる」ってなることも想像できますが、アクセスできなくなりました(;´Д`)って...

Visual SourceSafeからの解脱はお早目に。

Team Explorer Everywhere 2013出てましたw

いつものことですが、いつの間にかTeam Explorer Everywhereが新しくなっていました。
○Brian Harryのブログ
 Team Explorer Everywhere 2013 is Available
 http://blogs.msdn.com/b/bharry/archive/2013/11/03/team-explorer-everywhere-2013-is-available.aspx

こちらからダウンロード可能になっています。(Languageを’Japanese’に変更すれば日本語版がダウンロードできます)
http://www.microsoft.com/en-us/download/details.aspx?id=40785
今回からだと思いますが、Java用のTFS SDKも一緒にダウンロードできるようになっています。

インストール方法はいつもと同じですw

○チームエクスプローラーのホームビュー
さて、今回目立つのは、チームエクスプローラーのホームビューの見た目が変わってます!
前回のチームエクスプローラー

001

今回のチームエクスプローラー

002

項目の右側にある「▼」をクリックするとこんな感じ

003

項目名そのものをクリックすると、今まで通りの内容が表示されます。
(「保留中の変更」をクリックしたとき)

004

ここにも怪しいリンクがありました。
右上にある矢印部分

009

をクリックすると...

005

ビューが分離しています!!
(初めは気が付きませんでした^ ^;)
よく使うビューを分離しておけば、ホームビューを経由せず、直接切り替えができるようになっています。

また、「保留中の変更」からシェルブセットの検索に飛べるようにもなっていますので、操作性が相当上がったような気がします。

○ソース
ソース管理エクスプローラーから、ファイル名での検索ができるようになりました。
元々はPowerToolsで提供されていたようですが、TEEに組み込まれました。

006


007

検索後の画面では、右クリックからのコンテキストメニューからファイルのプロパティを見たり、更新履歴を見たりできるようになっています。

008

「ファイル名はわかるけど、ソース管理上どこのプロジェクト/フォルダに格納されているかわからない」ようなときには重宝するかと思います。

○「項目をフォルダに追加(A)…」
画面が単純なダイアログからウィザード形式の3画面構成に変わっています。
また、シンボリックリンク対応/ワークスペースの自動マッピング/既にソース管理に登録されているファイルを自動的に除外するなど、細かい変更が加えられています。

○シンボリックリンク対応
Linux系の環境で、シンボリックリンク対応になったようです。

○EGit対応
EGitを拡張する形で、TEEでのGit対応が組み込まれたようです。
(自分がGit使えないのでよくわかりません。)

○Gitリポジトリからの(Eclipse)プロジェクトのインポート
Gitリポジトリから、プロジェクトのインポートができるようになりました。

大きくは操作性向上とGit対応になるかと思われます。
(その割には、バージョン番号が11.0.0.~から12.0.0.~と、メジャーバージョンが上がっていますがw)

Windows RT 8.1へのアップグレードメモ

単なるメモです^ ^;

・電源に接続して開始すること
 →バッテリ使用だと、無線LANのスピードがでない

・(一時的にでも)スリープしない設定に変更しておく
 →ダウンロード/アップグレードともに結構長いです。

・回線はできるだけ早いものを準備する
 →Windows 8.1 64bitだと約3.6GBぐらいあるそうです。
  [2013/10/18追記]
  Windows RT 8.1は2.1GBぐらいらしいです。

・すぐには終わらない
 →お風呂にゆっくり入るぐらいの時間はありますw

いろいろリリース

いろいろありまして、久しぶりのブログ更新になります。

そんな間に、ついにWindows 8.1がリリースです。
2013/10/17 20:00からWindowsストアでアップグレードが可能になり、10/18にはパッケージが販売開始になります。

さらに、Visual Studio 2013/Team Foundation Server 2013もRTWとなっています。

いろんな方からいろんな情報が発信されるのを期待しています(ぉぃ

TFServiceでのビルド中に外部プログラムを実行する

ネット上でこんな話が出ていたので、ちょっと確認してみました。

せっかくTFServiceのBuildサービスでWindowsストアアプリのビルドができるようになったので、ストアアプリのプロジェクト(WinStorApp01)を作成。
TFService上でチームプロジェクト(StoreAppTest1)を作成し、とりあえずチェックインします。
外部プログラム格納用フォルダとして「Utils」フォルダを作成し、引数に指定された文字列をファイルに出力するバッチファイル(TestWrite.bat)を追加します。
フォルダ構成はこんな感じ。

101

プロジェクトのビルド時に外部プログラムを実行する場合、一番簡単なのはプロジェクトのプロパティで、「ビルドイベント」に実行したいプログラムを指定しておくことです。

102

今回は、ビルド後に作成したバッチファイルを実行させてみます。
実際にビルドを実行すると、出力結果フォルダにファイルが作成され、「"The End!"」が出力されています。

103

※今回はビルド定義でステージング場所を「Drops」にしています。

104

ここで注意点が3つあります。

1つ目は、フォルダ構成の指定を勘違いしないことです。(自分がボケてただけですが)
編集画面でフォルダの位置などを「マクロ」で指定することができます。
ビルドサービスではどのフォルダで実行されるか不定ですので、相対パスで記述するためにマクロで記述するほうがいいのですが、自分が勘違いしていたのが「$(SolutionDir)」の扱いです。
「$(SolutionDir)」はVSのソリューションフォルダのことですが、TFSのチームプロジェクトフォルダは「$(SolutionDir)」の親になりますので、「StoreAppTest1\Utils」を参照するためには、「$(SolutionDir)Utils」ではなく「$(SolutionDir)..\Utils」(←「..\」を追加)と指定する必要があります。

チームプロジェクト内にVSのソリューションが1つだけなら、ソリューションフォルダ配下においてもいいのですが、チームプロジェクト内に複数のVSソリューションが存在する場合はソリューションごとに配置する必要が無いので、今回のようにチームプロジェクトフォルダ配下に置いたほうがいいかなと思います。

2つ目は「日本語が通らない」ことです。
引数の「"The End!"」を「"終わった"」と指定してみたのですが、出力結果が「"?????"」といった感じで化けてしまいました。

3つ目は、ビルド定義の作業フォルダに、「Utils」を追加するのを忘れないことです。
(自分は追加し忘れてて「パスが見つからない」と怒られました^ ^;)

105

インストーラーでインストールしなくても実行できるプログラムであれば、こんな感じで動かせるようになります。

EclipseからTFServiceに接続できない

[問題が修正されたことを2013/05/17に追記しました。]

2013/05/14にTeam Foundation ServiceがUpdateされたというアナウンスがありました。
概要については、長沢さんのブログに掲載されています。
Team Foundation Service 更新 (スプリント 47)

この更新で、1つ困ったことが発生しています。
(2013/05/14時点)
それは、EclipseからTeam Explorer Everywhereを使ってTeam Foundation Serviceに接続しようとすると、「サインイン画面が開く→自動的に閉じる」を繰り返すという状態になることです。

英語でフォーラムを検索すると
endless loop when trying to suign in to team foundation service
という情報が掲載されていました。
内容を解読(w)すると、「Eclipseを終了して、IEの閲覧の履歴をすべて削除してから再度接続してみて」ということでした。
フォーラム内ではこれで解決したみたいなのですが、実際に自分の環境で実施してみても正常に接続できませんでした。

どうも運任せみたいなところがあり、接続できないこともあれば、数回繰り返すだけで接続できることもあれば、15分ぐらい放置していると接続できることもあります。

急ぎでTFServiceに格納されている情報を確認したい場合、IE/VSからであれば正常に接続可能です。

とりあえずConnectにも上げてみましたので、よろしければvoteお願いします。<(_ _)>
eclipseからTFServiceにログインできない

[2013/05/17追記]
2013/05/15にさっそく修正されたようです。
Team Foundation Service Teamのブログに掲載されていました。
Connectivity issues with TF Service – 5/15 – Resolved
手持ちの環境でもちゃんと接続できました。

TFSの分岐について:分岐に対するビルド定義

1つ書き忘れてました(^-^;

分岐を使用した場合、TFSのビルド定義はそれぞれの分岐に対して別々に作成することになります。
(DEVELOPMENTブランチに対する修正なのに、MAINブランチに対するビルドの実行は無意味ですから)

でも、ビルド定義の中で、どの分岐に対して実行するかという定義はありません。
ではどうするかというと、ビルド定義の中の「ソース設定」で切り分けます。

016

(今回使用した環境がTFServiceだったので、「$/BranchTest/Drops」があります。ローカルのTFServerの場合にはありません)

デフォルトではTFSのチームプロジェクトのルートフォルダが登録されていると思いますが、それを分岐したブランチに変更します。
→分岐時に作成したワークスペースで指定したソース管理フォルダと同じになります。

018

(「$/BranchTest/Drops」は残ったままだとビルド実行時にエラーになりましたので削除しました)

また、「プロセス」でビルド対象とするブランチ内のソリューションファイルを指定します。

017

これで、それぞれの分岐に対するビルド定義が作成できます。
「MAINブランチは定時ビルドだけにして、DEVELOPMENTビルドはゲートチェックインと定時ビルドを組み合わせて行う」といったこともできます。

ここまで出来れば、安心して分岐が使えるのではないかと思います。

TFSの分岐について:マージで競合が発生したとき

前回の続きです。

マージしたときに、マージした修正した内容が競合することがあります。
ありそうな例としては、こんな感じでMAINブランチにマージされたときです。

012_2

RELEASEブランチとDEVELOPMENTブランチで同じ処理に対して別々の修正を行ったときです。この例では、DEVELOPMENTブランチからMAINブランチにマージを行った時に競合となります。
TFSで競合を検知した場合、「競合の解決」画面が表示されます。

013_3

排他的に採用するときは「ターゲット分岐バージョンを保持する」もしくは「ソース分岐バージョンを保持する」ボタンを押します。

内容を確認しながら手動マージするときには「マージツールで変更をマージする」ボタンを押すと、編集画面が表示されます。

014_2

どちらか片方の修正部分をそのまま使用するときは、使用する側のチェックボックスをONにします。(両方のチェックボックスをONにすることも可能です。結果は下半分のエディタ画面に反映されます。)
どちらでもなく、独自の修正を行う場合は、下半分のエディタ部分で直接修正することも可能です。
調整が終わったら、「マージの許可」ボタンを押すと「競合の解決」画面に戻ります。

015

(「競合の解決」画面から、調整が終了したファイルはなくなっています)

その後、チームエクスプローラーの「保留中の変更」でチェックインします。

これで、分岐に関する基本的な操作は終了です
RELEASEブランチに対する操作についても、DEVELOPMENTブランチと同じになります。
(管理対象が異なるだけ)

VSSでは、追加開発中に障害対応が重なるとどうしようと悩んでましたが、これだけできれば安心して対応できます。

[2013/04/07追加]
分岐に対するビルド定義について追加しました。継続的インテグレーション(CI)までできないと安心できないですね^ ^;

TFSの分岐について:マージ

まだまだ続いてます。
DEVELOPMENTブランチに対する変更をMAINブランチにマージしてみます。
まずはDEVELOPMENTブランチに対して変更を入れます。
<変更前>

001_3

<変更後>

002_2

ソース管理エクスプローラーを起動します。
前準備として、ソース管理エクスプローラーで使用するワークスペースを「BranchTest-MAIN」(MAINブランチ)に切り替えておきます。

004_2

切り替えを忘れていると、実際にマージを実行したときにこんなエラーで怒られます。

005_2

「BranchTest-Dev」(DEVELOPMENTブランチ)フォルダを右クリックし、「分岐とマージ」-「マージ」を選択します。

003_2

マージウィザードが起動されます。

006_2

「次へ」ボタンを押すと、マージ対象にするバージョンの選択になります。

007

意図的に特定の変更セットだけをマージすることもできますが、ここではデフォルトの「最新バージョン」で進めます。

最後の画面で「完了」ボタンを押します。

008_3

しばらくすると、ウィザード画面が閉じて、ソース管理エクスプローラーに戻ります。
マージ自体はこれで終了しているのですが、MAINブランチ側がチェックアウトされた状態になっているので、チームエクスプローラーの「保留中の変更」でワークスペースを「BranchTest-MAIN」に切り替えてチェックインします。

011_2

これでマージは終了です。
次はマージで競合が発生したときについてです。

TFSの分岐について:作業中ワークスペースの確認

複数のワークスペースが定義された環境で作業をしていると、どのワークスペースで作業をしているのかがわからなくなることがあります。
こんなときは、チームエクスプローラーで「保留中の変更」を表示します。

017

こっそり、作業中のワークスペースが表示されています。
また、ここでワークスペースを切り替えることもできます。
※「保留中の変更」の検索対象を切り替えるだけなので、通常切り替えることはしないと思います。

018

しかも、ソリューションファイルを開いたときに、そのソリューションファイルがどのワークスペース配下にあるかによって、自動的にワークスペースが切り替わります。

次はDEVELOPMENTブランチで変更した内容をMAINブランチにマージしてみます。