Add a git port
This PR adds an initial port of git. Some notable features that are not yet working are pull and clone, but git log does work.
~~Blocked on managarm/mlibc#292~~ Blocked on managarm/managarm#482 and managarm/mlibc#750
Do commands on local repositories work? (For example after copying a repository into the sysroot?) Stuff like git add, git status, git commit?
I haven’t tried git add recently so I can’t tell you that, I know that git log and git diff seem to work and from what I remember was git status broken at this time.
I just checked, git status is broken on the lack of an setitimer() implementation, git diff works (albeit slow), git log works fine, git add seems to work fine, git commit works too (after setting the identity with git config), git reset --hard fails on setitimer() too and so does git checkout HEAD~1. Anything else you want me to test before merging?
It seems like serenity patches out several calls to setitimer, which we might be able to use to get more commands working.
I'm not a fan of doing that; we should just implement POSIX timers.
I agree on the not a fan part, however, do we want to block this port on that? If yes, then I'll mark this one as a draft waiting on POSIX timers.
I agree on the not a fan part, however, do we want to block this port on that? If yes, then I'll mark this one as a draft waiting on POSIX timers.
This has been resolved, setitimer and friends are sysdeps which Managarm doesn't implement. git is fine with that.