I've been tinkering with a fork of sgit to add in some of the standard git features that it is missing. Before I make a pull request with the additions, I'm checking to see if anyone is interested in using it as some extra testing. If you're interested, just drop me a line.
i only do fetch and merge with sgit, but i'm sure true devs will jump in for more options.
One thing i'd like to use (but iirc doesn't yet fully work) is remote. I can list and checkout remotes, but i'm still not able to merge them into my local tree (for testing)
So far I've added the -a switch for the commit command which automatically stages files that have been modified and deleted, but ignore new files you have not told Git about.
I'm in the process of adding support for the mv command and setting up the default push behaviour when the repository and refspec aren't specified. Basically I'm plugging the holes of my most common git workflow so I can do:
sgit commit -a -m "blah" sgit push
the same as I do with the standard git command.
Feel free to suggest any features that you are interested in and I'll see what I can do.
Thanks for updating sgit. I've switched to using git for my projects, and on AmigaOS I need to keep referring to this thread to remind me how to get things done.
One frustrating annoyance is that it defaults to "unknown user" if you forget to configure the name and email address before the first commit. Every time that happens I need to figure out how to undo the commit and redo it with the correct user details. I wish it would ask you to enter those details instead.
I haven't tried it on AROS, but it's fully functioning on MorphOS. And looking at the AROS patchset it doesn't look like a lot of work to get it rundning.
Hi, could you please send me a link to a binary (or post one here) ?
I'd love to try your improvements as it would make a big difference to my usual workflow too! Sadly, my current install of the "old" sgit has started bombing out with errors whenever I try to use it, so I'd also be keen to see if your build resolves these issues.
Many thanks for your efforts on this!
Cheers,
-Mark
My Amiga blog: markround.com/amiga My hardware: X5000 running OS4.1; A1200 Vampire V1200v2, KS 3.1.4
I've encountered a few more problems: - sgit revert doesn't work (command "revert" not supported) - If there are conflicts when merging then it'll simply say: "libgit error (20): n conflicts prevent checkout". I can't find any way for it to indicate where the conflicts are, let alone how to resolve them - sgit add . is rather slow. Actually, the larger the respository becomes, the slower the "add", "status" and similar commands become. It gets very noticeable on my Tabor, taking 30s+
It's been a crazy few weeks and my spare time for working on sgit has been non-existant! It should become a bit mnore relaxed in a couple of weeks and then I can get back to this.
Thanks for the extra bits to look at. Part of my initial work for the commit command used the git_status_list.. () api that's in libgit and it might be that helps if I use that for the git status command too.
Okay, even adding a single file is taking far too long. I have no idea what sgit is doing, but doing sgit add path/to/file should *NOT* take multiple seconds, regardless of the repo size.
@Raziel
Thanks for the workaround for the missing revert command. However, that takes what should be a trivial operation and makes it really tedious.
I see getting sgit up to standard and working fast as one of the many things we need to make development on and for AmigaOS more productive and more fun. Another would be to have a fully working debugger, but that's a whole different story...