Microsoft Introduces GVFS (Git Virtual File System) (microsoft.com)
Saeed Noursalehi, principal program manager at Microsoft, writes on a blog post: We've been working hard on a solution that allows the Git client to scale to repos of any size. Today, we're introducing GVFS (Git Virtual File System), which virtualizes the file system beneath your repo and makes it appear as though all the files in your repo are present, but in reality only downloads a file the first time it is opened. GVFS also actively manages how much of the repo Git has to consider in operations like checkout and status, since any file that has not been hydrated can be safely ignored. And because we do this all at the file system level, your IDEs and build tools don't need to change at all! In a repo that is this large, no developer builds the entire source tree. Instead, they typically download the build outputs from the most recent official build, and only build a small portion of the sources related to the area they are modifying. Therefore, even though there are over 3 million files in the repo, a typical developer will only need to download and use about 50-100K of those files. With GVFS, this means that they now have a Git experience that is much more manageable: clone now takes a few minutes instead of 12+ hours, checkout takes 30 seconds instead of 2-3 hours, and status takes 4-5 seconds instead of 10 minutes. And we're working on making those numbers even better.
Might as well elect Donald Trump as president while you're at it.
There aren't THAT many repos with over 3 million files in them.
The great majority of projects I've been on have been around the 100k-300k range and doing a build (to properly test the product) required ALL of them.
And even then, once you've got all of them the first time, GIT does the diffing automatically so it "scales" already.
Maybe MS could put some of their vast R&D efforts to to something more useful... like having their free Visual Studio Code editor handle files bigger than 1gb?
The whole point of git is that you have identical copy on your machine. Why take away git's biggest advantage?
Avantgarde Hebrew science fiction
so its just a simulated version of git that requires constant internet access ... next
While a vfs sounds like a great idea, I think in theory it's only of use for very, very large repos. Even then I wonder if the exact same issues that made Clearcase suck would make it suck even with Git.
"Hey, how can we do what GitHub does, only stupider?"
Mr. Hu is not a ninja.
That is really fucking cool! This is going to revolutionize how software development is done. Imagine being able to use git like an efficient file system without the overhead of downloading everything all the time. I am willing to bet that within a year or two the majority of git projects will be built this way, even further eroding Linux's popularity with developers. I am already seeing most of my colleagues join me in dumping Linux and switching over to Windows 10 with the Linux subsystem so it is pretty much inevitable. THIS, this is what real innovation looks like.
Just curious what the author of GIT has to say about this. He can point out the truth with absolute authority.
(Reinvented a square wheel? Solved a non-problem? Cured a symptom?)
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
If your developers aren't using all the files then you should probably split your repository.
While I can see the value of making versioning control system manipulation seamless from filesystem level manipulation, the issue of space isn't really one that crops up in any significant fashion. What I want is to be able to manipulate different versions side-by-side.
Excellent that they took their time to made sure there was not any name clash with something else in the filesystem realm
Wenn ist das Nunstueck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput.
I get an error message that says the error message needs replacing with a custom one.
MS? Doing a nice GUI? Bwahahahahahaha...
The whole point of git is that you have identical copy on your machine. Why take away git's biggest advantage?
Because it's biggest advantage is also one of it's greatest inefficiencies and frankly on a large project chances are you may not need it all. The whole point is you have an identical copy on your machine of what you're working on
So buy a bigger disk. They're cheap.
Why did they do it? It's obvious: it's the bait on the hook to get you to break git and your open source projects (even CURRENT ones) that compete with them.
By keeping you from having a full copy of the repository, they break git: If there are files that you didn't use in recent checkouts, they're not stored locally or not brought up to date when you pull. If something goes wrong externally - like loss or corruption at a cloud site (such as the recent lost-update debacle) you have no non-microsoft-git-internals-expert way to recover - maybe no way to recover at all.
You lose the ability to work offline. You lose the ability to look at history, or parts of the repository you haven't been to yet, without being back on line to a working and trustworthy external server, and so on.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Wait a second.
MS just invented an efficient way to checkout the Linux kernel on windows, so you can get the kernel sources, compile it, and then run Linux and ditch Windows ?
That's great !!
aaaaaaa
git is not a company.
I respectfully differ - Microsoft is, of course, git. The gittest, actually.
Are you talking about Gnome's Virtual File System, or something else?
https://en.wikipedia.org/wiki/GVFS
Perhaps they could choose another abbreviations, as GVfs has for a long time been used for the Gnome Virtual Filesystem
What repo are they using where clone takes a few hours and checkout takes a few minutes? Holy shit!!! What do they have like 500 gig files in their repo?
So buy a bigger disk. They're cheap.
That's not the problem. It's the time to process all those files every time you run commands like checkout status diff etc.
Are YOU really having speed issues now?
If not, don't expect to as your project grows, either. As long as the Moore's law variants apply and you don't add developers at an exponential rate, the machines will improve exponentially, wihch is faster than the repository grows. (Even if you DO add developers exponentially the output per developers drops off quickly.)
If you ARE having trouble I'd bet you didn't partition your repositories at project, application/subsystem, or API boundaries Git works fine if you have, say, one repository for the compiler support / standard library or vendor's SDK, another for your project's application, maybe a third for your-stuff specific libraries shared among multiple projects. You glue them together in the makefile common inclusions.
If you aren't crossing a repository boundary where you have separate components that have to interact across distinct release versions, you did something wrong. Even diverge-converge approaches won't give you a good way to test across those version combinations or protect you from change-storms unrelated to YOUR project - not just with git, but with any SCCS I'm familiar with. (And I've been programming - and/or designing digital hardware - for a living since computers were just switching from using tubes.)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Would be a dream come true. Ditch the abomination (Windows) and do like Jobs did by putting a nice GUI on top of a "Unix".
Yes it's fashionable to bash MS here. However, like IBM MS got nicer when losing their monopoly.
Anyway like any organization or company they make great and shitty software. MS makes great office and development tools. THeir operating systems and browsers are mediocre at best.
With GNU they make great operating systems and development tools but shitty office
http://saveie6.com/
I'm pretty sure AC #53795299 is referring to the MTP backend of GNOME Virtual File System.
You must have never used their enterprise Dynamics CRM and Dynamics NAV software.
If you can get it to run at all, half the shit is broken. Hell, the 2013 edition of CRM actually told you NOT to install the newest version of IE because it was "unsupported at this time." Yeah. IE (11?) didn't support CRM. Now I've got to explain to my clients why Windows Update completely broke their brand new system they paid thousands of dollars for.
Another great "feature" of CRM 2013 was a completely broken IMPORT system. So if you're trying to import anything other than mind-numbingly simple data like "addresses." You have to add stuff with timestamps, dates, and so on. You surely don't want ALL USER MESSAGES to lose their order and timestamps, right? TOO BAD. Even though CRM supports setting the timestamp, for certain record types the importer is completely broken and they never cared to fix it. So the "simple" solution? All you have to do is create a C# plugin, based on non-compiling code from an obscure blog. Oh wait, you can't just write a C# plugin. You have to use their HUGE SDK, their tools to "attach" the plugin to CRM and even that requires hours of reading manuals to figure out the right triggers. And if something goes wrong? ENJOY ZERO USEFUL ERROR MESSAGES. And yes, I turned on tracing (Which requires CHANGING THE REGISTRY in various places.) and debug mode.
Or how about SQL 2014/2015, which STILL doesn't properly support DPI scaling. The hallmark of Windows 10, and if you use a high resolution with a small laptop screen, random dialog boxes will not only be shrunk and force you to squint to read them... no... that'd be too easy. Some of them are so broken that you can't physically view all of the contents of the dialog AND YOU CAN'T SCROLL TO SEE IT. The dialog dimensions are shrunk and the data is to the right of a window you can't resize!
THANKS MICROSOFT. I love fixing your shit at my job while having to explain to clients that Microsoft's "It Just Works (TM) if you stay within the MS ecosystem!" is all a bunch of bullshit and the "It works" trademark is actually paved with the blood of IT workers.
Microsoft could make great products. Too bad they never bother to finish any of them.
Dynamics NAV (it was originally called Navision) used to be rather nice to work with... until, err, Microsoft starting making changes to it (around 2008-ish?). You could actually watch it turning to shit with each new version put out post-acquisition. I think I stopped bothering when I left the company I was working with, and went out of my way to tell subsequent employers to avoid the hell out of it.
Quo usque tandem abutere, Nimbus, patientia nostra?
MS just invented an efficient way to checkout the Linux kernel on windows
Unless you go into the Windows registry to make the underlying file system case sensitive, that probably won't work. The Linux kernel sources sometimes have files in the same directory that only differ by case, like
net/netfilter/xt_hl.c
net/netfilter/xt_HL.c
includes/uapi/linux/netfilter_ipv4/ipt_ecn.h
includes/uapi/linux/netfilter_ipv4/ipt_ECN.h
It's not just a problem for the kernel, by the way. Having both "Makefile" and "makefile" in the same directory isn't unheard of. GNU make will then default to the latter. And it breaks under standard Windows.
Wait a second.
MS just invented an efficient way to checkout the Linux kernel on windows, so you can get the kernel sources, compile it, and then run Linux and ditch Windows ?
That's great !!
Seeing as how the only purpose of IE/Edge is to download Chrome/Firefox, I guess they figured that was the next logical step...
This worked just fine with Ubuntu for Windows 10 app.
This worked just fine with Ubuntu for Windows 10 app.
No, it doesn't. Ubuntu under Windows 10 runs on WSL kernel emulation, not the linux kernel proper.
Lately they stole the name Neon from the KDE distribution, now they steal the name GVFS from GNOME. Who's next? Stealing something from the cinnamon desktop? Or maybe Some eXtended Filemanager for windows CE (XFCE)?
Exactly their OSes are mediocre.
I bought a 4K screen and good GOD what a nightmare. I hate Apple ALOT, but give Apple Kudos no problems when Retna hit MacOSX in 2011. It is freaking 2017 so who the hell uses 100 DPI anymore?! Really, a cheap ass phone has a better screen than a $900 PC.
http://saveie6.com/
Wait a second.
MS just invented an efficient way to checkout the Linux kernel on windows, so you can get the kernel sources, compile it, and then run Linux and ditch Windows ?
That's great !!
And they use Android on Visual Studio and develop Ximarron with an Apache style license for Linux, Android, and MacOSX development ... on VS 2015 community edition and VS 2015 also uses GIT too.
Yes, MS is getting with the times since Windows is not what it once was. Amazing isn't it when competition is allowed again.
http://saveie6.com/
This sounds an awful lot like the days when Clearcase served up a database over NFS to an SMB server as a file system "view" of a repository .
Nothing evolves faster than the word of god in the minds of men who think themselves divinely inspired.
About time somebody did this, great work Microsoft team.
If they could ever fully move to the new GUI before making wholesale changes to the design language, maybe it could be nice.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
You failed to answer the question. Because you know he's right.
All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
That's really bad naming practice.
It's consistent naming for that project. ... Windows.
Any kernel configuration for netfilter with match support gets lower case names, and with target support it gets upper case names. In some cases there is support for both.
And the only real problem with this is
What everyone really wants : bring out a "Windows 11" that can run the Windows XP GUI, down to Luna themes support, give us the Quicklaunch back, don't require an i7 and SSD just to run the desktop and updates. (Biggest task there is to junk that Windows Update system to replace it with one that instantly finds the updates)
If we want to launch the UWP runtime and grid of squares? Let us run it when we want from the quicklaunch, desktop or start menu.
Bring back the old file manager, just add tabs in it!
Keep the linux subsystem and resizable console.
But we can't have good things.
But what's being unsaid throughout this is whether this works with a standard Git server, or whether it only works with a special Microsoft-kluged server. While the former is vaguely interesting, the latter merits only a derisive snort.
Editor, A1-AAA AmeriCaptions
Eh, you bought a 4K monitor? Joke's on you. Sorry, but I think it's expected to be crappy, unless you're a dictatorship that obsoletes all hardware/software every few years (Apple) or have only legacy-free DPI independant GUIs and software (Android, web)
Well, something to blame MS for, and which might be the source of some scaling crappiness.. They still don't allow fonts anti-aliasing without RGB Cleartype? I just hate that. Especially when I just want to use Windows 7 or something on a CRT monitor, which doesn't even have subpixels (yea I don't care, I'm free to use one, 19" size is good in particular). The choice is garbage aliased fonts from 1996 or garbage technicolor fonts. And if going HiDPI, you ought to be able to get rid of that subpixel technicolor garbage anyway. Is that still the case on Windows 10.1 or Windows 10.2? (whatever the pseudo hidden version is)
Do they still render a low DPI application with Cleartype, then scale it up 200% displaying artifacted garbage fonts, then call it a day?
GVFS feels like a philosophical disconnect with GIT and a software tool created to work around a lack of software architecture. It probably would be a better idea to fix the software architecture problem.
Polytron's tool chain supported partial local builds back in the 80's. We used Polymake and PVCS to build Comshare's EIS. If you changed just one C file, that was all that compiled on your system. Polymake basically had two paths it looked at for all dependencies and their lib command had a nice replace-module command. Fixing the architecture and having a better make seems like a better solution than monkeying with the source code control system.
If MS released the GVFS under an Open Source License, then MAYBE their recent posturing re Open Source and Linux has some sincerity to it.
If they did not then it is probably more Embrace, Extend, Extinguish.
softcodeer
BeOS was beautiful and intuitive. I wish it had lived on..
Why is joke on me? TV is for 4 K. Phones are 2 and 4K. Everything else that is cheaper is beyond 1K. I thought a freaking PC should be more advanced than a stupid TV or phone.
I don't get fonts rant? No one cares about great fonts at 1K. Worse, people sit far away from TVs and use tiny bitty screens on their phones and yet sit close on zoomed in PC screen where you can see pixels. Come one Microsoft .
Oh and you wonder how bad it is and which version of Windows? I have the latest Windows 10 and the GDI is so buggy that my 2nd screen gets out of place zoomed and pixelated menus at 1080p??! Yes, Windows will forget which screen is which and fuck up the 1080P 2nd monitor menus and fonts too. Oh and occasionally will swap monitors1 and 2 when switching scaling or resolutions. This could be my AMD drivers too?
But in 2017 it is a reasonable expectation to plug in a 4K monitor and have it work with no bugs just like Android or MacOSX.
So the stories about 5K monitors miss the point
http://saveie6.com/
[Submitting a separate pull request from each branch of your fork to the upstream project] can be done entirely from the Web UI as long as you're only making small changes that touch one file at a time
I was asked to make three pull requests to HTTPS Everywhere, each to make one small change to a different section of the same FAQ. Because one of the changes would reorder and then combine two sections, I fear an error message that my pull request "has conflicts that must be resolved". GitHub's page about merge conflicts states that for many "merge conflicts, you must resolve the merge conflict locally on the command line."
It may be consistent, but it is terrible.
Better would be:
xt_match_hl.c
xt_target_HL.c
Just because you can, doesn't mean you should.
It may be consistent, but it is terrible.
[...]
Just because you can, doesn't mean you should.
If you grew up with and are used to case sensitive file systems, and aren't aware of limitations in other systems because they've never been part of your work and life, why is this terrible?
The practice of Makefile + makefile is far from uncommon. With Makefile being the "production" one, and makefile having local modifications.
If I remember correctly, one language used to have file names like Net::NIS and CRC::CCITT too, until porting was startted, and someone discovered that this would break in some other OSes.
And I'm sure that one or more projects have had a subdirectory named con - which works fine, except in Windows, where con is a reserved word.
And back in the 80s/90s, it was not uncommon to have both pack and compress on a system, with both .z and .Z extensions. One system I used had its compressed man pages as both .z and .Z, in the same directories. Where .z was used for local pages due to the unpack speed, and .Z was used for NFS mounted pages, due to higher compression. Was that terrible?
Unless you plan to port something to another OS or are familiar with it, I don't think it's terrible at all if you don't make adjustments for it.
Or to put it another way, I don't see a lot of Windows users take care to always be consistent with case, so things won't break on case sensitive systems. And I'm fine with that as long as they intend to keep their work in Windows.
I don't understand how the that EULA goes along with the MIT license. How are they compatible? Am I missing something?
This is a hideously bad idea. Every time someone clones a repo, they effectively have a made a full backup of the source. As we just saw with GitLab, one cannot ever have too many backups.
Yeah.
it would be better to use BSD or Hurd.
But let's face it, the world uses Linux.
And it's not developped by a finnish kid any more :
https://lwn.net/Articles/65463...
(None) 3.9%
(Unknown) 3.5%
The remaining 92,6% is big corps.
aaaaaaa