This page describes the process of submitting code to FreeSWITCH.
Forking FreeSWITCH with Github
- Create a new account in Github
- Create a new issue in Github, describing the feature you want to develop or the problem you're trying to fix.
In the FreeSWITCH repository page, hover over the fork button on the right and press it
Clone your fork
Ensure Git is Setup
Tell git your full name and email address – make sure to use your real name and not a username. Inside your FreeSWITCH source directory, run scripts/setup-git.sh:
Create your working branch
It's easier if you create a branch to work exclusively on the issue you'll fix, also, this makes easier to sync your fork repository since you're not committing to branches that aren't in the main repo.
Commit your changes
Commit the results locally; see the Commit Guidelines for how to write a good commit message:
Please follow the commit guidelines the module name the commit references with [my_module_name].
This makes easier to read commits and see which module is affected.
Create more commits as needed such that each commit represents a logically separate change:
Review changes and ensure your author name is correct:
Push changes to your forked repository
Create Pull Request
To create your Pull Request, go to Github and navigate to the repository which you want to contribute your changes.
In the "Pull Requests" tab, click "New pull request" to create a pull request against FreeSWITCH.
Updating Pull Request with new code
If one of the developers ask you to modify your code, there's no need to create another pull request.
Each pull request tracks the branch from the forked repository, so when you commit more changes and pushes those changes, the pull request is automatically updated with the new commits.
Always create one branch for each pull request. If a developer asks for a change, make the change in the specific branch, and push the new change.