Hacker News new | ask | show | jobs
by nonbirithm 1853 days ago
I wish Git would have some kind of command-server mode or libgit2 was supported with Magit to prevent needing to create new processes on Windows. Magit sometimes creates dozens of Git processes for a single operation, but because process creation is much slower on Windows than Linux, it makes Magit unusable for me on those systems. (Sadly, I don't always get a choice to just use Linux.) Simple things like magit-status take 10 seconds per refresh/stage/unstage instead of half a second elsewhere. It got to the point where using the git command line was much more bearable, but way more error-prone, and I miss Magit every time.

https://magit.vc/manual/magit/Microsoft-Windows-Performance....

https://github.com/magit/magit/issues/2959

2 comments

Magit already has some basic support for libgit. Browsing the issues I get the impression that if someone made a reasonable pull request to support libgit2 for a few dozen methods (should be easy to prioritise based on profiling) then it would be accepted. I don’t think the maintainer wants to review pull requests for one function at a time. I think one issue is perhaps that windows performance isn’t a particularly high priority and changes may not be accepted if they degrade Linux performance.

Aside: isn’t process creation more reasonable with WSL? Or can you not easily use it?

> isn’t process creation more reasonable with WSL?

In my experience WSL is overall much slower than cygwin.

I also can't use magit because of this. I thought the poor performance came mostly from my big repository with lots of binary files but now I 'git-filter-repo'ed the .git-directory from 2-3 GB (packed) down to 150 MB and magit is still no fun at all (although better than before).