First off, thank you for considering contributing to Ravada. It's people like you that make it such a great tool.
If you've noticed a bug or have a question that doesn't belong on the mailing list or search the issue tracker to see if someone else in the community has already created a ticket. If not, go ahead and make one!
If this is something you think you can fix, then fork Ravada and create a branch with a descriptive name.
A good branch name would be (where issue #325 is the ticket you're working on):
git checkout -b 325_boost_performance
If you contribute code, thank you ! Plase, follow this rules so our code is in sync:
- Use spaces, don't do tabs.
- Add the issue number at the very beggining of the commit message
[#44] Fixed flux capacitor leak
See this documentation about testing the project.
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample, an executable test case or a step by step guide demonstrating the expected behavior that is not occurring.
At this point, you're ready to make your changes! Feel free to ask for help; everyone is a beginner at first 😸
Follow this guide about running Ravada in development mode.
If you change a translation or language file make sure you follow this small guide and don't forget to add the issue number when committing.
At this point, you should switch back to your master branch and make sure it's up to date with Ravada's master branch:
git remote add upstream git@github.com:UPC/ravada.git
git checkout master
git pull --rebase origin master
Then update your feature branch from your local copy of master, and push it!
git checkout 325_boost_performance
git rebase master
git push --set-upstream origin 325_boost_performance
Finally, go to GitHub and make a Pull Request :D
If a maintainer asks you to "rebase" your PR, they're saying that a lot of code has changed, and that you need to update your branch so it's easier to merge.
To learn more about rebasing in Git, there are a lot of good resources, but here's the suggested workflow:
git checkout 325_boost_performance
git pull --rebase origin master
git push --force-with-lease origin 325_boost_performance
A PR can only be merged into master by a maintainer if:
- It is passing CI.
- It has been approved by at least one admin.
- It has no requested changes.
- It is up to date with current master.
Any maintainer is allowed to merge a PR if all of these conditions are met.