2016年06月16日
川俣晶の縁側ソフトウェア技術雑記total 10821 count

TFSからgit/Visual Studio Onlineへの移行を行ってみての私的感想と特徴比較

Written By: 川俣 晶連絡先

「今日をもってTFSの利用を終了し、完全にgit/Visual Studio Onlineの利用を開始すると宣言しよう」

「かなり時間が掛かったけど、ついにその日が来たのだね」

「この先もまだ問題が出るのか分からないが、とりあえずプロジェクト1つの移行が終了したので、一応ここからが本番とする」

「では実際に移行して分かったことはなんだい?」

「この問題は一筋縄では行かない」

「話が長くなりそうだね」

「では、最初に大ざっぱな特徴を比較してみよう」

TFSの長所 §

Visual Studioでソースを管理するだけなら操作はシンプル

Visual Studioに支援機能も充実している

TFSの短所 §

SQL Serverを使用するためにブラックボックスができてしまい、不安が残る

同じことだが、バックアップがめんどくさいし、リストアする操作も不安である

MSの推奨から外れた

gitの長所 §

分散リポジトリなので、データが分散して残る。特にバックアップ処理を考えずとも多数のコピーが残る

その上でバックアップをする場合も単なるファイルツリーのコピーで終わる

MSの推奨である

gitの短所 §

操作がめんどくさい。ローカルにコミットした後で更にサーバと同期が必要等

知識が必要とされる場面はけっこうある (TFSほど自動化されていない)

OSSの周辺ツール類は動くかどうか分からずドキュメントも不足している

関連ドキュメントが決定的に不備である (古かったり間違っていたりして、無いより悪かった)

移行の問題 §

「それとは別に移行の問題というのがあってな」

「それはなんだい?」

「git-tfsでTFSリポジトリ全体の複製をgit化して作成しようとしたが一部しかできない。以下のような感じで--all付ければ大丈夫だった。~はパス名やサーバ名に置き換えてね」

  • git tfs clone --all --authors=c:\~~~\AUTHORS http://~~~~:8080/tfs $/ C:\~~~~

「万事解決?」

「いや、リポジトリが大きかったので変換に3日ぐらい掛かったかな。その間再起動できなかった」

「ひぇ~」

「WindowsUpdateで勝手に再起動しちゃったときは目の前が真っ暗になったっけ」

比較の問題 §

「どちらも長所短所があるが、今回移行を決めた決定的な理由はなんだい?」

「うん。クリティカルな問題に集約すると、どちらもそれなりに弱点がある」

  • TFSの短所 SQL Serverを使う。バックアップが不安である
  • gitの短所 操作が複雑である。管理に手間を食いすぎる。機能やドキュメントに問題が存在する場合がある

「もっとぶっちゃけるとどうなの?」

「世の中、gitは便利だ便利だという人ばかりだが、誰も具体的なことをあまり語らない。その理由が良く分かった。個別の機能の議論になると、それほど出来が良いわけでも使いやすいわけでもないからだ」

「それにも関わらずgitを使う決断をした理由は?」

「バックアップだな。gitはSQL Server使わないのでファイルのツリーをコピーするだけでバックアップが取れる。復元も簡単。これは有力な長所」

「つまり、最終的に君が達した答えはそこにあるわけ?」

「そうだ。最終的にSQL Serverに大切な資産は置きたくなかったので、ファイルシステムを使うgitの方がまだマシ……というチョイスだ」

「でもさ。【機能やドキュメントに問題が存在する場合がある】っていう話はどうなんだ?」

「そこはね。Visual Studio OnlineとVisual Studioを使っていれば最低限のところは何とかなる分かったので。それで行く。OSSで固めたらおそらくうちでは破綻する」

「破綻するというのは、動かないってこと?」

「おそらく最終的には動くだろうが、費やす時間が長すぎて論外になりかねない」

「ソフトの使い方を理解するのに時間が掛かりすぎるのなら、分かってるソフトでやった方がマシってことだね」

「そうだ。しかも、ソフトが難しいって話じゃなくて、ドキュメントの不備の話だからね」

「頭が悪いから理解できないのではなく、ドキュメントに不備が多いから作業が進まないってことか」

「書かれた言葉は分かるがね。書かれた通りに動作しないソフトの扱い方までは分からない」

「じゃあ、この場合の勝敗はどう付ける? gitの勝ち?」

「いや。gitを使えるようにしてくれたVisual StudioとVisual Studio Onlineの勝ちだと思う」

「ぎゃふん」

感想 §

「今どきのVisual Studioには散々文句を言ったがね。結局、gitサポートは良く出来ていると思った。まあソース管理エクスプローラ的なものはあると良いと思ったけどね」

「今どきのVisual Studioはどこがダメ?」

「nugetはVisual Studio史上最悪の発明だと思うよ」

「えー」

「nugetは素晴らしい素晴らしいという言葉で世界は満ちあふれているが、実は全く無関係にnuget hellという言葉を使っている人が複数いるわけで……。そう言っていない人でもnugetに文句を言ってる人はいるし」

余談 §

「結局、TFSを最新版に上げないまま使用を終了してしまった」

「最終的に使っていたのはどのバージョン?」

「詳細はもう忘れた。ソースの差分が格納できれば、うちの使い方ではそれでオッケーだからね」

「最新でなくても良かったのか」

「さて、バージョン管理の問題が決着したのでソースを書くか」

「結局ソースが書きたいわけだね」

「そうとも。ソースを書く時間を奪うソフトは、どれほど便利で素晴らしくとも敵だ」

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2016年
06月
19日
UWPでRenderTargetBitmapが非同期で動作する罠
3days 0 count
total 2595 count
【技術雑記】の前のコンテンツ
2016年
06月
16日
Visual Studioでgitに既存のソースツリーを追加する際生成結果のファイルまで登録させない方法
3days 0 count
total 4489 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20160616143255
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.