パスワードを忘れた? アカウント作成
13146559 story
マイクロソフト

Microsoft、巨大なGitリポジトリを扱うための仮想ファイルシステム「GVFS」を発表 95

ストーリー by hylom
全貌が掴めないコードに 部門より
あるAnonymous Coward 曰く、

Microsoftが2月3日、バージョン管理システム「Git」で巨大なリポジトリを扱うための仮想ファイルシステム「GVFS (Git Virtual File System)」を発表、GitHub上で公開した(アナウンスGitHubマイナビニュースSlashdotOSDN Magazine)。

GVFSでは、リポジトリが管理するファイルシステムを仮想化し、必要に応じてファイルをダウンロードしたり更新することで、リポジトリに対する操作時にファイルアクセスによって発生する待ち時間を軽減するというもの。Microsoft社内ではWindowsやOfficeといった非常に大規模なソフトウェアのソースコードが存在するが、これらはファイル数が多すぎてGitでの操作時に大変な時間が掛かっていたそうだ。これを解決するために開発され、その結果巨大なGitリポジトリにおいてクローンが12時間から5分、チェックアウトが3時間から30秒、ステータス表示が8分から4秒、といった驚異的な高速化が実現できたという。

GVFSは現在はまだ開発中の状態であるが、巨大リポジトリに悩まされる開発者の光明となるだろうか。

MicrosoftのScaling Git (and some back story)という記事によると、リポジトリの分割といった解決方法も試したそうだが、20年以上も開発が続けられていたコードを分割することは非常に難しくコストのかかるものだったそうだ。そのためこのような解決方法がとられたという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • MSってVSS使ってるんだと思ってたわ。

    • MSってVSS使ってるんだと思ってたわ。

      Access使ってると思ってたらODBC経由で実DBがMySQLだった…みたいなこと?

      #スンマセン…VSSもGitも使ったことありません…

      親コメント
    • Team Foundation Serverなら使ってそう。

      親コメント
    • by Anonymous Coward on 2017年02月07日 19時18分 (#3157375)

      MSめ。紛らわしい名前付けやがって・・・

      https://ja.wikipedia.org/wiki/GVfs [wikipedia.org]

      親コメント
      • by uxi (5376) on 2017年02月08日 10時00分 (#3157717)

        いや、本当に。
        ネーミングセンスが悪過ぎると言うか、公開と命名に当たって事前調査全然してないよね。
        折角 Bash on Ubuntu on Windows みたいな事やってるんだから、せめてこの辺は気を遣えよって思う。

        少なくとも現状ではググってもこれがトップに来るし、
        https://archive.is/DTwc9 [archive.is]
        Microsoft が公開してる GitHub 上でも GNOME/gvfs を食っちゃった形になってる。
        http://archive.is/x4K0Y [archive.is]
        上のコメントの通り、Wikipedia の各国語版でもこれまでは gvfs と言えばこれであり、曖昧さ回避のためのページも出てこない状態。
        つまり、Microsoft が Git Virtual File System なんて言い出すまでは、gvfs は Gnome Virtual File System でほぼ一意に意味が通っていた。

        Git Large File Storage
        https://git-lfs.github.com/ [github.com]
        が glfs じゃなくて git lfs って言ってるんだから、
        せめて git vfs くらいに揃えとけと思うんだけど
        まさかこっちに配慮しちゃった?
        https://www.google.co.jp/#q=%22git+vfs%22 [google.co.jp]

        --
        uxi
        親コメント
    • by Anonymous Coward on 2017年02月07日 19時19分 (#3157379)

      舞台裏を憶測すると、今まで使っていたところをgitに移そうとしてるんじゃないかなあ。

      お遊びプロジェクトにWindowsやOfficeのコードベースへのアクセスを許すとは思えないから、
      結構本気のプロジェクトじゃないかと思う。

      親コメント
      • Re: (スコア:0, フレームのもと)

        by Anonymous Coward

        しかしまあ、みんな何も知らん(または10年以上昔の知識で止まってる)くせに調べもせずにネガティブなことを書くのな

        • by Anonymous Coward

          先生! 知識がないんで、何を調べたからいいかわかりません!
          ついでに知識がないかもわからないので、書き込みも止められません!

    • by Anonymous Coward on 2017年02月07日 19時20分 (#3157380)
      VSSであれだけの規模と品質のソフトウェアを管理できるわけないだろ
      つうかTFSも内部じゃ使ってない売るためだけのシステムだったんだね
      どう考えてもGit一択だろって言ったのにマイクロソフトのブランドに騙されてTFS導入したうちの会社は本当にアホだわ
      親コメント
      • by Anonymous Coward

        ずいぶん前からMSもGitをお勧めしてたし、TFSだってバージョン管理にGitを選択できるようになっていたんだが。

        さて、みんなにここで問題だ。
        アホはどこのどいつでしょう?

      • by Anonymous Coward

        TFSのバージョン管理「以外」の機能について、いくつご存知?

      • by Anonymous Coward

        > Git一択だろって言ったのにマイクロソフトのブランドに騙されてTFS
        ?????????????????????????????????????????????????????????????????????
        コード管理はGit使うよう設定すればいいだけでは???????????????????????????????????

      • by Anonymous Coward

        まわりの人間がみな自分よりバカなのと、まわりの人間がみな自分より賢いのでは、どちらがいい環境なのか、考えるまでもないですね

    • by Anonymous Coward on 2017年02月07日 19時55分 (#3157410)

      Ars Technicaの記事 [arstechnica.com]によると、以前はPerforceのカスタマイズ版と見られるシステムを使っていたらしい。

      VSSについては「データベースがよく破損するため、ソースコードをゴミ箱に放り込んで火にかけるのと大差ない」とボロクソに書いてあるのが笑える。まあ、たしかに昔からそういう評判だったけど。

      親コメント
    • by Anonymous Coward

      TFS?
      VS上で作った奴を管理するには向いてるとは思ったけどね。

      まあ一つの目的の為に複数の方法を使う多重化の一つだと思うよ。

    • by Anonymous Coward

      ふるっw。VSSはVB全盛の時代だろ。SVN→TFSと変わって、GitもVisual Studio対応は標準で対応してるよ。

  • 今だに"CVS"と"CSV"がごっちゃになる!

    • by Anonymous Coward on 2017年02月07日 23時39分 (#3157562)

      CVSはもう忘れていい単語なのでCVSと聞いてもCSVの事だと思っていればよいです。

      親コメント
    • by Anonymous Coward

      CVSは Concurrent Versions System
      CSVは Comma Separated Values
      の略と覚えていれば混乱しないと思いますが

      もう少し簡単な方法として
      - CVSは「バージョン管理システムだからVS」とか「システムだから末尾がS」
      - CSVは「コンマ区切りだからCS」とか「値だから末尾がV」
      という感じで覚えるのはどうでしょうか?

  • by Anonymous Coward on 2017年02月07日 19時32分 (#3157390)

    ずっとWindows上のGitは遅いと言われていましたが、これで解決するのかな?

    Is Git noticeably slower on Windows compared to Linux/OS X?
    https://www.reddit.com/r/git/comments/3ahpxe/is_git_noticeably_slower_... [reddit.com]
    Benchmark cp + git on linux v.s. Windows: why such differences?
    http://stackoverflow.com/questions/36923253/benchmark-cp-git-on-linux-... [stackoverflow.com]

    I did this with the very same repository on both Windows 10 and Linux:
     Operation               Linux     Windows    Ratio
     ---------               -----     -------    -----
     1. git add .            0.47s      21.7s      x46
     2. git checkout HEAD~1  0.35s      16.2s      x46 
     3. git checkout .       0.40s      20.5s      x50
     4. cp -r ssd->ssd       0.35s      1m14s      x211
     5. cp -r ssd->hdd       4.90s      6m25s      x78 

    • むむ、これってつまりGVFSってWindows向けに特化したファイルシステムで、LinuxやmacOSユーザにはほとんど恩恵がないってことなのかな。macOSユーザのGit使いとして、このアナウンスにかなり期待してたんだけど。

      親コメント
      • by Anonymous Coward on 2017年02月07日 21時32分 (#3157486)

        MacやLinuxへと移植する予定はあるようです。
        https://github.com/Microsoft/GVFS/issues/4 [github.com]

        ただ、今の実装がC#なのは頂けませんね。

        親コメント
        • by Anonymous Coward

          MonoとかDotNetCoreとかあるんだし、何とかなるんじゃない?

          #そういえば、上記二つってネイティブコンパイル出来たっけ?

          • by Anonymous Coward

            Monoで動くでしょうし、ネイティブコンパイルもできますが、ファイルシステムにGCのある言語はちょっと怖いですね…。
            GCのせいでOOMに殺されやすいはずですし。

      • by Anonymous Coward

        大丈夫!macの上でWindows動かせばいいんだから。

    • by Anonymous Coward

      自慢のNTFSが効いてるのかな

      • by Anonymous Coward on 2017年02月07日 20時58分 (#3157464)

        タレコミの元記事 [microsoft.com]のコメントでも、「変なもの作るよりNTFS直せ」(意訳)って言われてますねw

        NTFSは時代遅れとなっていて、Microsoftは既に今世代ファイルシステムとしてReFSを用意しています [microsoft.com]。
        しかし、ReFSもベンチマーク性能が芳しくないですね。Windows Server 2016搭載のReFS V2で改善されたのだろうか?

        親コメント
        • by Anonymous Coward

          NTFSとReFSは併存させるつもりでしょうよ。多分安定していて障害に強いReFSと多機能なNTFS。
          お願いですマイクロソフト様デスクトップ版のウィンドウズとNTFSの組み合わせでも重複排除を使えるようにしてください。ついでにデスクトップでもReFSを使えるようにしてください。

    • by Anonymous Coward

      これ、新しいファイルシステム作るよりgitを改善すべき事例では…。

      • by Anonymous Coward

        このファイルシステムをマージできればいいけど流石に無理だろうから延々gitの変更に追従する努力が必要になるでしょうね。

    • by Anonymous Coward

      遅い以前に、Gitの仕組みとNTFSの仕様が絶望的に相性悪いからどうしようも無い気が。
      WindowsでGit使うと使ったドライブのMFTが酷いことになるし・・・

  • by Anonymous Coward on 2017年02月07日 21時10分 (#3157475)

    GVFS requires Windows 10 Anniversary Update or later

    初っ端から笑わせにくるこのセンス。嫌いじゃない。
    一体どこのバカがあえてWindows、ましてやAuto Updateが勝手に再起動まで行うWindows 10でgit鯖を立てるのか…。
    だいたいNTFSってlink/unlinkが異常に遅いじゃん?
    それではgitやmaildirは使いものにならんよ。

    しかし一番の笑いポイントは、わざわざgit使うのにフルコピー全否定とかwwwwwww。
    それ進化じゃなくて退化ですからwwwwwwwwwwww。
    ほんとこれ↓。

    The whole point of git is that you have identical copy on your machine. Why take away git's biggest advantage?

    Microsoftよ。もういい。
    おまえらにgitは早すぎた。
    そんなにフルコピーしたくねえんなら、初めからMercurial使っとけ。

    # つうか、「巨大なGitリポジトリにおいて(ドヤァ」ってwwwwwww
    # 誰一人指摘しなかったんだろうか? 「リポジトリ分けろよ」ってさwwwww

  • by Anonymous Coward on 2017年02月07日 21時46分 (#3157495)

    WEBサイトとか動画編集とかCADとか

  • by Anonymous Coward on 2017年02月07日 22時24分 (#3157523)

    とか平気で言ってた会社だぞ。
    信用できるか!

typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...