It's so hard to find a proper category on this forum...
Anyway, I've gone through a wiki page about GIT and still have some questions. I'm very familiar with SVN but have no experience with GIT. Time to fix that.
I've installed GIT, some GUI (SmartGit) and cloned "https://code.google.com/p/ardupilot-mega".
I did some changes to APM Planner and wanted to commit it.
I understand this is open source but I also understand that only trusted devs have a write permission to original repository. I've read so much on "forking" the project but I can't find it (using that SmartGit). Also, I don't see the point on forking the whole repo just to make small changes that could eventually go to main repo.
So maybe instead I should create a patch and present it to Michael Oborne? But I can read here that in that tool there is no way of creating patch. Well, looks like it's a lousy tool and I should switch to Tortoise, like for SVN.
Anyway.. what is the preferred way of making changes to the code and presenting it to the community/dev team?
The question is valid either for Arduino part and for Planner part.
Replies
use this guide
https://code.google.com/p/ardupilot-mega/wiki/GitGuide
this uses tortusegit.
GIT is the real deal. It can be a bit difficult to figure out, but well worth it.
You work on your branch and get things working how you want, then submit a pull request. The pull request asks them to look over the differences and pull them back into the main branch. If they pull your changes then your branches will be synchronized again.
It has to work this way so that your changes have a place online while you're working on the project. This enables everyone to work on your branch to make it ready to be merged back. It really works best this way.