Microsoft and GitHub Team Up To Take Git Virtual File System To MacOS, Linux (arstechnica.com) 150
An anonymous reader writes: One of the more surprising stories of the past year was Microsoft's announcement that it was going to use the Git version control system for Windows development. Microsoft had to modify Git to handle the demands of Windows development but said that it wanted to get these modifications accepted upstream and integrated into the standard Git client. That plan appears to be going well. Yesterday, the company announced that GitHub was adopting its modifications and that the two would be working together to bring suitable clients to macOS and Linux. Microsoft says that, so far, about half of its modifications have been accepted upstream, with upstream Git developers broadly approving of the approach the company has taken to improve the software's scaling. Redmond also says that it has been willing to make changes to its approach to satisfy the demands of upstream Git. The biggest complexity is that Git has a very conservative approach to compatibility, requiring that repositories remain compatible across versions.
Microsoft and GitHub are also working to bring similar capabilities to other platforms, with macOS coming first, and later Linux. The obvious way to do this on both systems is to use FUSE, an infrastructure for building file systems that run in user mode rather than kernel mode (desirable because user-mode development is easier and safer than kernel mode). However, the companies have discovered that FUSE isn't fast enough for this -- a lesson Dropbox also learned when developing a similar capability, Project Infinite. Currently, the companies believe that tapping into a macOS extensibility mechanism called Kauth (or KAuth) will be the best way forward.
Microsoft and GitHub are also working to bring similar capabilities to other platforms, with macOS coming first, and later Linux. The obvious way to do this on both systems is to use FUSE, an infrastructure for building file systems that run in user mode rather than kernel mode (desirable because user-mode development is easier and safer than kernel mode). However, the companies have discovered that FUSE isn't fast enough for this -- a lesson Dropbox also learned when developing a similar capability, Project Infinite. Currently, the companies believe that tapping into a macOS extensibility mechanism called Kauth (or KAuth) will be the best way forward.
Fuck GitHub (Score:1, Interesting)
Go ahead. Become dependent on yet another third-party "cloud" service.
Idiots.
Re:Fuck GitHub (Score:4, Informative)
Cool story bro.
Good thing you don't need GitHub to use Git, right?
Re: (Score:1)
It's not hard to put git on a server that users have access to in a small corporate setting that then provides a central location to push to and pull from without needing GitLab to front it. It's nicer with something like that there, but not essential. The main issues with development are still communications and resolving branching for business needs, and merging when the communication regarding changes was insufficient. A nice front end to git doesn't currently fix that.
Re: (Score:3)
Exactly. And what better authority than git's author? If you want to send him a patch, you just make a pull request, right?
Wait, the Linux team doesn't use github? Isn't that peculiar? :)
Re: (Score:3)
No, it's not peculiar. Keeping control of a _canonical_ git repository is very useful for a critical security system. It's awkward, but feasible, to link a local, working git repository to multiple upstream repositories such as github, gitlab, or an internal business managed erpository. I've certainly done so and guided technology partners in doing so.
Re: (Score:2)
You know what's the best tool for that? Gerrit. It's also got a pretty damn nice web interface, and of course, integrates with every CI system out there Let i
Re: (Score:2)
Gitolite is one piece of software that lets you "set and forget" a git server that seldom needs maintenance. The only time I've run into problems with it is when the server ran out of memory during a large operation. But that could be prevented by enabling swap.
ClearCase again (Score:1, Troll)
So, if I understand it right, they've just reinvented the MVFS system pioneered by ClearCase decades ago?
The whole point of git was to have a decentralized repository, so that the repository could be rebuilt from anyone's local repository in the case of failure.
But the larger problem is that if your dependencies aren't properly managed, you end up downloading the whole repository when you build anyway, so the only thing they've accomplished is delaying the build step rather than the clone step.
Re: (Score:2)
Which is generally fine, since you clone the code so you can dive into it - look at it, make changes, etc. If the first build takes longer because you have to grab the repository, I'm OK with that - I usually schedule the build to happen overnight anyways, so whether it fin
Re: ClearCase again (Score:5, Informative)
Re: ClearCase again (Score:2)
Re: ClearCase again (Score:3)
Re: ClearCase again (Score:2)
Re: ClearCase again (Score:2)
Re: ClearCase again (Score:2)
Re: ClearCase again (Score:2)
Re: ReClearCase again (Score:2)
Re: ClearCase again (Score:2)
Troll?? I noticed the similarly too, though I've not looked into the details.
I actually liked ClearCase...first used it when it was an Atria product and then when it was part of the CaseVision suite on SGI platforms. I have yet find anyone else who feels the same though.
Re: (Score:1)
I liked ClearCase, until I had to manage the server. It became a little less fun then...
Re: (Score:1)
I originally thought much as you do, that it was an attempt to bring Git in line with the old centralized server concept, but then I researched it a little more. Git, as it currently stands, is incredibly slow on very large repos. You might argue that the problem is that the repo is too large, but the solution to that problem frequently requires a Tardis.
Oblg. "Its a trap!" (Score:2, Troll)
The skeptical side of my is saying "It's a trap!" [youtube.com]
The practical side of me is suspending judgement and waiting to see how this play outs because MS, at this point, has ZERO confidence that they won't hijack this.
--
"Those who forget history are doomed to repeat it, badly" -- paraphrasing George Santayana
Re: (Score:2)
Brother, any Slashdotter whose blood is Slashdot green would be saying the same things, or maybe "We are in the embrace phase, just before the "hug of death."
I really can't help but wonder myself how they're going to twist the knife.here.
Re: (Score:2)
Not for network access, for local file access - just like all the other filesystem drivers.
The old story again. E E E. (Score:2, Interesting)
The "problem" is that git takes a *conserv*ative approach towards compatibility?
So in other words: Microsoft would like to break git's compatibility with non-Windows?
YOU DON'T SAY!
How many times have we go through this exact story again and again?!
You do not deal with Microsoft. You do not talk to them, you do not take anything from them, you do not follow their suggestions, and you do not get in their van!
Lest you want to come out once as the skin worn by Microsoft, and once as dog food from the meat grind
Re: (Score:2, Funny)
Re: (Score:2)
4 Decimal or 4 Hex digits?
Re: (Score:2)
Thou canst consider this the 4-digit seal of approval which thou seekest.
Oh Great (Score:2)
Re: (Score:2)
Re: (Score:1)
Git virtual file system... (Score:5, Informative)
I've heard of people using git for strange purposes (blogging?!) but for a second reading this headline I had the horrific thought that someone was attempting to create a filesystem backed by git.
Fortunately that's not the case, GVFS [github.com] (not that other GVFS [github.com]) provides a git-compatible filesystem abstraction on Windows 10.
Although I'm not a big git fan, I do have to say I'm impressed with Microsoft's recent moves toward open-source and interoperability. If the Linux Subsystem is ever a first-class citizen in the MS ecosystem, I could even see myself using Windows again.
Being trendy has a cost (Score:3, Interesting)
This is what happens when you pick technologies by popularity and groupthink. Git has very real flaws: the worst UI of any source control system I've ever used, inability to deal with large repositories, a confused and overcomplicated operational model, trouble with storing large binaries. You can always spot the people who learned Git as their first VCS: when confronted with these problems, they'll say things like "monorepos are bad" or "the CLI tools were always meant to have 'porcelain' built on top of them, not used directly, so it's fine if they suck" -- they have drunk the koolaid and can't see things any other way or explain real counterexamples to the contrary.
For hobby projects these are academic problems, but if you're working at the scale of a complete operating system then you have to confront Git's weaknesses head-on and fix them. The fact that MS felt it was worth going down this rabbithole just to follow the crowd is sad.
Re: (Score:2)
This is what happens when you pick technologies by popularity and groupthink. Git has very real flaws: the worst UI of any source control system I've ever used,
Whoah, whoah, whoah, now wait a sec here. We're talking about a program invented by Linus Torvalds, the creator of a kernel that routinely sits under userlands where a synonym of "feline" prints the contents of files, where a household cleaner (vim) is a text editor, where "more" and "less" do the same thing despite being literal opposites, and where sometimes, but not always, parameter names are case-sensitive (rm -r == rm -R but rm -i != rm -I).
So of course git is hard to learn. Just like Linux itself,
Re: (Score:2, Informative)
As a predominantly text version control system it doesn't want large binaries under vc that's not it's job. To manage large binaries you can use git-lfs and git can efficiently to the vc and the large binaries can be served via a service optimized for that.
It seems your at-scale is in fact miss use, be kinder to you vc system.
Re: (Score:3)
Git has very real flaws: the worst UI of any source control system I've ever used
Whenever someone says this, ask them if they are comfortable with the command-line. The answer is always no.
For hobby projects these are academic problems, but if you're working at the scale of a complete operating system then you have to confront Git's weaknesses head-on and fix them.
Nah, there are huge, professional projects already using GIT.
Re: (Score:2)
Whenever someone says this, ask them if they are comfortable with the command-line. The answer is always no.
I've used Mercurial from the command line for 5+ years, didn't even cross my mind to use a GUI for it. Git however is completely unusable to me without SourceTree. Git has a horrible UI, especially on the command line.
Re: (Score:2)
Whenever someone says this, ask them if they are comfortable with the command-line. The answer is always no.
I've used Mercurial from the command line for 5+ years, didn't even cross my mind to use a GUI for it. Git however is completely unusable to me without SourceTree. Git has a horrible UI, especially on the command line.
How does Mercurial perform on a 300GB repo? Honest question; I've dabbled briefly with Mercurial on small projects (where I found it nice, but slow) but never looked into how it scales.
Re: (Score:2)
I've used Mercurial from the command line for 5+ years, didn't even cross my mind to use a GUI for it
This is not the same as you saying, "I am comfortable with the command-line." It's more like, "I read a Mercurial tutorial once and know how to use that."
Re: (Score:2)
It's more like, "I read a Mercurial tutorial once and know how to use that."
The point is, you don't really need to do more to be comfortable with Mercurial on the command line. Things make sense there, unlike with Git which bleeds implementation details all over the UI for no good reason.
Re: (Score:2)
Re: (Score:2)
Git is always confusing when coming from most other SCM because it's almost nothing like most other SCM. It's biggest strength it's it's biggest hurdle, when you learn it from the outside in like most people (touching only the common porcelain commands) it's very easy to build up misconceptions that you can get away with but will confuse the fuck out of you as you try to expand your knowledge. To be fair to the git book beginner chapters and other tutorials they do attempt to reveal internals along the way
Re: (Score:2)
"distributed version control system" does not define git, that's more of a side effect. That's the problem with people who don't get git, evident in the countless comparisons when you google "the difference between git and mercurial" (two good distributed SCMs), they are full of misinformation and comparisons of things that work on top of git like git client UIs and git webserver interfaces.
The XKCD is probably the most accurate description: "it's a beautiful simple use of graph theory which is extremely fl
Re: (Score:1)
Re: (Score:2)
I use Git every day and I cannot imagine how the stuff I can do with it via command line would be implemented as UI features.
So the UI is limited to simple tasks performed by people who need nothing more than commit, push and pull and I see no problem with that.
Re: (Score:2)
Problem detected between keyboard and chair....
Re: (Score:2)
If you want to get this fixed, I can give some tips. First, note that the same bug is present in "git diff", so it's not just a gitk thing. Next, you can use "git blame" or "git log -p" to find the commit that originally added that bug. (Find the commit that touched those lines--who added this broken feature?) If you can't understand it, e-mail the original author or the git mailing list. If it seems like a useless feature, ask if it can be removed, and mention that it's buggy. If they say yes, submit a pat
Microsoft is irrelevant (Score:2)
git was made to make version control decentralized (Score:4, Informative)
The obvious agenda here is to make repository hosting first more centralized, then more "hosted at MicroSoft", then, once people depend on the hosted service, demand monthly fees for it.
Re:git was made to make version control decentrali (Score:5, Informative)
Nobody tell him GitHub [github.com] already exists and charges money. Microsoft's interested in GVFS is because 1) Git sucks at handling large repos, and 2) Microsoft has a 270GB repo [microsoft.com]. /. article [slashdot.org] back in Friday had better comments, including one linking an article describing why they chose Git for source control [microsoft.com], and what GVFS actually does.
The original
Re: (Score:2)
270G is a large git repo? That's a bit over half the size of ours.
Re: (Score:2)
For a single git repository, it's quite large. Git's lack of ability to check out, and manage, a single directory of a much larger upstream can be problematic with this.
Re: (Score:2)
Re: (Score:2)
Git with submodules solves the _reverse_ problem. One would have to fragment a project into many distinct git repositories, and maintain them each individually with a master project, to allow developers to check out and work on only one small component at a time. To pick out only a small component for local development, one has to pre-separate and activate that one, separate component as a repository and modify the master repository to use submodules.
It's feasible, and I've certainly helped workgroups do th
Re: (Score:2)
If MicroSoft really put 270 GB of source code into one git repository, this only demonstrates how little they learned since the days they had to introduce a weird kind of "precompiled headers" in order to deal with their excessive use of one ".h" file that includes everything.
apple? (Score:4, Interesting)
Nah (Score:2)
Microsoft had to modify Git to handle the demands of Windows development but said that it wanted to get these modifications accepted upstream and integrated into the standard Git client.
They're very likely doing something wrong here.
Re: (Score:1)
Windows sources are a huge, bloated mess. They think everybody has that or wants that.
They still won't change the name (Score:1)
In other news, arrogant Microsoft still won't change the name of GVFS that isn't already used by a prominent Linux feature: https://github.com/Microsoft/GVFS/issues/7
Before you do that (Score:2)
Fix the piss poor Git integration in Visual Studio
And now they want to kill Git (Score:1)
And make it MS Git: Incompatible to itself, always changing interface, only runs well on Windows. Seriously, the comment about version compatibility in Git should be a huge red flag.
It's more like Embrace and Extend. No Extinguish. (Score:4, Interesting)
It's not 1995. Microsoft of today is very different of the Microsoft from two decades ago. The presence of Azure alone guarantees that their old business approaches are irrelevant in today's market.
Microsoft has become one of the premiere open source providers. They've released a huge amount of great open source software, from .NET Core to Visual Studio Code to TypeScript and beyond.
Maybe it isn't apparent to people firmly stuck in the past, such as yourself, but Microsoft has leapfrogged many of the traditional open source companies.
People actually like using .NET Core on platforms like Linux and macOS. They like using Visual Studio Code, because it's an excellent cross-platform IDE. They love using TypeScript because it brings sanity to JavaScript.
Yes, Microsoft does embrace and extend open source software. And we're thankful for it! They're providing us some great improvements. That's what open source is all about: allowing a wide variety of contributors to improve the open source software.
As for the Extinguish phase you're fixated on, it's not an issue. They just aren't doing it. They can't really extinguish the projects based on the code they've released under very liberal open source licenses.
Frankly, I've had far better luck with the open source software from Microsoft than I've had with open source software from the traditional open source companies.
For example, software like .NET Core and Visual Studio Code has greatly improved my Linux experience. It has helped make me a more productive programmer. On the other hand there is a lot of software that didn't come from Microsoft, like systemd, GNOME 3, PulseAudio and NetworkManager, that has actually served to ruin my Linux experience in many ways.
I never thought I'd be saying this, but Microsoft really has helped improve my Linux experience, while many traditional Linux supporters have actually made it worse! I encourage Microsoft to embrace and extend open source software. So far I've found their contributions to be excellent.
Re: (Score:1)
Yeah, yeah. We've all heard it before. Shut up. Microsoft has a track record stretching over 30 years of being a bunch of assholes and crooks. A few token efforts is nowhere enough to re-establish any kind of credibility. Establishing yourself as a shill and an apologist is pretty quickly done though, so congrats to that.
Re: (Score:2)
Re: (Score:2)
The Microsoft of the Halloween Documents doesn't exist anymore. If Linux does something well, Microsoft can make money from it selling Azure to run tasks on. If Android does well, Microsoft gets a chunk of every Android device going out there. So, unlike the past, their revenue streams don't depend on just Windows for an OS. For example, MS SQL server runs on Linux... and MS still gets their cut for licensing.
MS is still a corporation, and they are beholden to the bottom line above all, but MS hitching
Re: It's more like Embrace and Extend. No Extingui (Score:2)
Re: (Score:2)
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: (Score:2)
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: (Score:2)
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: (Score:2)
And you still are not capable of providing any supporting data for your retarded claims.
OK, so you are probably not Trump, but you have documented you are far dumber.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
From just an information theory perspective, you've demanded that research be done but you haven't actually specified anything more specific than "MicroSoft hasn't changed."
And I impeach that by pointing out that once upon a time their product was a computer language written by hand by Bill and Paul. And now, Bill and Paul are off doing other things, they don't write the code by hand from the datasheet without a computer anymore. Somebody completely different is blindly pounding out code now! So we know tha
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: (Score:2)
I didn't demand research be done.
And yet prior:
Sure. Here you go ... [google.com]
and then
If you can't find the information there you are too stupid to understand it anyway.
And if you can't comprehend that you were demanding unspecified research, I'll just answer by quoting you further:
weak and ignorant
Re: (Score:2)
You sound unhappy with my content. Now, wouldn't it make more sense for you to take anti-depressants? Me, I'm pretty happy with what I wrote.
Re: It's more like Embrace and Extend. No Extingu (Score:2)
Re: (Score:2)
He asked your reason. You appealed for him to do research.
You're so smaht you can't see the difference? LOL
If you explained your reasons and he wanted a citation, then it would be reasonable to say, "go and research what I said." But that isn't the case; you made a very very very broad statement, which I already impeached above, and he was asking you for data. Your claim had conclusions, but you didn't make any claims as to if there even is data that supports it. If you don't know if data exists that suppor
Re: (Score:2)
Translation: have no facts to back up my unsubstantiated claims.
Re: (Score:2)
No, he asked you to substantiate your unsubstantiated claims. Have you stopped raping children? You never did you say? I say different. Check google [google.com]
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The truth is, even though MS are the good guys these days I still put black tape over their keyboard logo.
But they are pretty nice keyboards.
Re: (Score:2)
Re: (Score:1)
And that's not a part of Git today?
It's a sad thing when you start to agree with Hitler: https://www.youtube.com/watch?v=CDeG4S-mJts
Re: Embrace, Extend, Extinguish (Score:1)
Re: (Score:2)
Visual Source Safe was easy to use, came with a GUI.
How many people were in your team? Switching from vss to subversion was an amazing improvement. People get on better with git though as its distributed and gives you the chance to rebase to make commit history less noisy and more concise.
Re: (Score:2)
Microsoft was a strong mobile player. The problem is that Apple changed the entirety of what people expected in mobile phones, and MS had to pivot to keep up with it. Before the iPhone, the stylus was part of the interface, as well as a physical hardware keyboard. The iPhone set user expectations to a completely different style.
I will give credit to MS for several things. There is nothing out there as scalable as AD for users, computers, and other core organization in a company. The DHCP protocol is al
Re: (Score:2)
Re: (Score:2)
Re: Microsoft kernel module for Linux (Score:1, Insightful)
... and systemd. No, wait, that abomination isn't Microsoft.
Ha Ha Ha (Score:2)
Very funny.
http://www.supersu.com/ [supersu.com]
Re: (Score:2)
Re: Microsoft kernel module for Linux (Score:1)
Re: The obvious solution is to use gitd (Score:3)
Re: (Score:2)
You mean systemd-git