Re:Mononoke – A Mercurial source control server designed to ...
by sanxiyn on Sunday March 11, 2018 @10:59PM
(#16565954)
Note that Microsoft arrived at the opposite conclusion and wrote GVFS: https://github.com/Microsoft/GVFS
[ Parent
| on HN ]
Re:Mononoke – A Mercurial source control server designed to ...
by krupan on Monday March 12, 2018 @12:19AM
(#16566188)
Reading that it sounds like they reached the same conclusion, that they didn't want to mess with git's internals. They wrote a filesystem to run underneath git.
Re:Mononoke – A Mercurial source control server designed to ...
by daemin on Monday March 12, 2018 @05:16AM
(#16566921)
Hearing from friends that work there, the RTT for the underlying filesystem adds quite a lot of time for daily operations, especially if they are not working on the west coast of the USA. It was said a pull takes 45 minutes.
This leads me to believe that to handle large repos and files within a tool like git, its internals should be changed a bit so that there's not as many file accesses that need to be done (fstat, read, write). Also for certain operations to be batched together to better hide the latency involved in global communications.
Re:Mononoke – A Mercurial source control server designed to ...
by kyrra on Monday March 12, 2018 @09:21AM
(#16567941)
If you do it right, it will eventually work. Google does something similar with fuse and their mono repo (CITC is magic).
https://m.cacm.acm.org/magazines/2016/7/204032-why-google-st...
Re:Mononoke – A Mercurial source control server designed to ...
by alexeiz on Monday March 12, 2018 @12:58PM
(#16569507)
If you're working with a Git repo on a remote filesystem, you're doing it wrong. Git is not designed for remote filesystems. It relies on certain file operations to be extremely fast. So Git works best with local filesystems. With Git, you want to clone the entire repository locally and work with it locally. That's the idea behind the distributed version control: every committer has the entire copy of the repository. With a remote filesystem you're effectively centralizing your repository.
Re:Mononoke – A Mercurial source control server designed to ...
by daemin on Tuesday March 13, 2018 @05:25AM
(#16574726)
Yeah, the git metadata is on a remote file server, that's the entire point of the Microsoft file system extensions for running a huge git monorepo. The code and assets you are working on is local, but the history and other metadata elements are stored remote and lazy loaded.
So if you're remote file server is relatively close it doesn't matter too much and the lag is not noticeable, but if it's across the country or across the world...
Re:Mononoke – A Mercurial source control server designed to ...
by xpaulbettsx on Monday March 12, 2018 @01:57AM
(#16566437)
If you look at that same repo, they're trying a similar approach, https://github.com/facebookexperimental/eden
Re:Mononoke – A Mercurial source control server designed to ...
by kyrra on Monday March 12, 2018 @12:22AM
(#16566198)
There was some interesting answers around this in the original thread for GVFS: https://news.ycombinator.com/item?id=15725497
The Microsoft PM for GVFS commented there.
Re:Mononoke – A Mercurial source control server designed to ...
by OskarS on Monday March 12, 2018 @04:12AM
(#16566769)
As a game dev in a small studio that runs on git, I'm so exited to see where GitVFS goes, and especially since the announcement they're working on macOS drivers. We're pushing git to it's limit, and it would really nice if we wouldn't have to switch to another system (git is mostly great, and we're all good at using it, even the artists). GitVFS seemingly solves all our problems in a really slick way.