If someone wants add a new feature, must do:
Fork and configure the project (if it is not yet)
Configure the upstream repository:
git remote add upstream git://git.code.sf.net/p/linuxstopmotion/code
On developer's fork:
Goes into master branch:
git checkout masterUpdates from remote upstream repository:
git fetch upstream
git merge upstream/masterCreates a new branch and goes into it:
git checkout -b feature-topic
develop the feature... test local build and application... done.
Updates from remote upstream repository with possible new changes on master branch:
git fetch upstream
git merge upstream/master
test local build and application with the merge.
If all it's ok, or we need help, or we need feedback, we publish our branch as merge request:
git push origin/feature-topic
Do a merge request from origin/feature-topic to upstream/master
All team (not only developers) can review and discuss about the branch. This branch/mergerequest could be clone by users or team members to test it on their local with these steps:
git remote add sourceforgeuser git://git.code.sf.net/u/sourceforgeuser/linuxstopmotion/
git checkout master
git fetch sourceforgeuser
git merge sourceforgeuser/feature-topic
When team is agree, merge request will be accepted or rejected. When it is acepted (would be as more stable as possible), the feature goes into master branch.