Microsoft and GitHub cooperated to bring Git virtual file system to macOS and Linux

Microsoft is not the only company that wants to expand the Git system.

One of the interesting news over the past few years is that Microsoft has said it will use Git version control systems for Windows development. Microsoft must edit Git to handle this request, but these modifications must be approved and integrated into the standard Git client software.

This plan seems to be progressing well when they recently announced that GitHub has approved these modifications and the two partners are bringing client software to macOS and Linux.

Microsoft wants to switch to Git because of its features as well as being used by many programmers. However, this transition faces several problems. Git is not designed for many such developers - more than 3000 people work on codebase. In addition, Git is not designed for such a large codebase, with the number of files, the history of editing each file or the size of more than 300GB. When using Git, working with open source repositories is very slow, normal operations such as checking which files have been modified, for example, take a few minutes.

Microsoft and GitHub cooperated to bring Git virtual file system to macOS and Linux Picture 1Microsoft and GitHub cooperated to bring Git virtual file system to macOS and Linux Picture 1
Git file system is currently used by many developers

Their solution is to develop a virtual Git file system called GVFS - Git Virtual File System - a local copy of the Git repository and be virtualized, containing the data and source files that were previously used. Microsoft has adapted Git to handle this virtual file system. Then the client software will not try to retrieve the file that is not available on the local computer, and will also have a new file transfer protocol to select the file on the remote repository.

Internally, this has been proven successful when Windows development has switched to Git since May this year but what about the Git community?

Microsoft said that now half of the changes have been approved by Git developers, they are also willing to change to meet demand. But the most difficult thing is that Git is difficult to be compatible, repository requirements must be compatible on all versions.

GitHub's involvement is because they want to solve the needs of the business. Some industries have large repositories and problems when using Git, such as large game warehouses not by file or editing history but by graphics and other assets. Then what Microsoft is doing with Git will be very helpful. Microsoft also wants to switch to Git instead of TFS (Team Foundation Server).

Microsoft and GitHub also plan to bring up other platforms, first macOS, then Linux. The most obvious way is to use FUSE, a tool to build filesystems running on user mode instead of kernels (because that's easier and safer). They also know that FUSE is not fast enough - Dropbox with Infinite project is a lesson, so currently, uploading to macOS with Kauth (KAuth) mechanism is the best way.

See also: Did you know the 15 hottest programming languages ​​on this GitHub?

5 ★ | 1 Vote