The piece of work that needs to be done next is how to implement mmap () and munmap (). My memory of this is a bit hazy but I think that there are only one or two times where mmap () is used to write to a file and I was checking if they used in a threaded situation or whether we could assume only one thread using it a time which would again make it easier.
Basically if anyone wants to get involved, you're very welcome!
If it's file backed mmaps only, one file at the time with no msyncs, it should be straight forward. If it's more complicated than that, a fake implementation will probably be very inefficient. It would be great if someone took the time to do it, it's probably a pretty common porting problem. My guess is that this could be a good candidate for trying out the OS4 extmem feature.
Unfortunately, it seems that we can't use sgit with github anymore. Since yesterday I try to push changes to my repository and I get the following error:
libgit error (12): unexpected HTTP status code: 403
I don't know if you guys have the same problem, or if it's just me, or if there is a way to bypass the problem.
IIRC GitHub were going to change to requiring keys instead of passwords (not sure if this has happened but it was definitely coming). Don't know if sgit/libgit2 support SSH, but that's what it needs.
@Capehill Thank you for testing it. I was looking on how to set this up on AmigaOS 4, to use ssh keys, but could not find a guide. Can you please provide some info on that, or if there is a page to point me to?
Oops, sorry. I mixed up some things here. I'm using Personal access tokens that replace password and this should be working. Check Settings -> Developer Settings menu on Github.
1) Are you able to fetch from origin? 2) Are you pushing from repo's root level (some sgit commands are picky about directory: not sure about push) 3) Is your local branch called "patch-1"?
If you have done that and then made changes to your code you need to stage the changes. You can see what files were changed by
sgit status
To stage all of them you have to do
sgit add .
If you want to stage one file, i.e.
sgit add src/filename.c
Then you have to create a commit for the staged files with a description, like
sgit commit -m "These are my changes"
Then you can push that commit to your repo like
sgit push origin branchname
That's all you should do for pushing changes. Have in mind that you might get connection issues with GitHub if your try to use your login credentials. The only way to make it work is with a self-access token.
Your new branch is based on the one you were before, master. "sgit log" shows you the commits done.
If you have non committed changes before checkout, be careful because branch switching using sgit is destructive (if I remember correctly), so you could lose changes.