bootstrap-managarm icon indicating copy to clipboard operation
bootstrap-managarm copied to clipboard

Add a git port

Open Dennisbonke opened this issue 4 years ago • 7 comments

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

Dennisbonke avatar Jul 16 '21 15:07 Dennisbonke

Do commands on local repositories work? (For example after copying a repository into the sysroot?) Stuff like git add, git status, git commit?

avdgrinten avatar Jul 16 '21 18:07 avdgrinten

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.

Dennisbonke avatar Jul 16 '21 18:07 Dennisbonke

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?

Dennisbonke avatar Jul 17 '21 12:07 Dennisbonke

It seems like serenity patches out several calls to setitimer, which we might be able to use to get more commands working.

Dennisbonke avatar Jul 24 '21 13:07 Dennisbonke

I'm not a fan of doing that; we should just implement POSIX timers.

avdgrinten avatar Jul 25 '21 16:07 avdgrinten

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.

Dennisbonke avatar Aug 16 '21 01:08 Dennisbonke

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.

Dennisbonke avatar Oct 08 '22 10:10 Dennisbonke