When bug is encountered on master branch, a developer 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 bug branch and goes into it:
git checkout -b bug-N-bug-topic
develop the solution... 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/bugN-bug-topic
Do a merge request from origin/bug-N-bug-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/bug-N-bug-topic
When team is agree, merge request will be accepted or rejected. When it is acepted (would be as more stable as possible), the bug solution goes into master branch.
Then, maybe this fix needs integration on other branches, so we open a merge request on other branches and repeat the discuss for each branch. Could be already fixed, or no needed or the fix needs any change. If it needs any change, we'll repeat the proccess (update the fork, create new branch, etc).