-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Submitting a patch
The common way to contribute code to a project on GitHub is by forking it and creating a pull request after the changes are done. This is the workflow we recommend.
If you don't have a GitHub account and don't want to sign up neither, you may just create a patch file and send it to us.
This must be only done once. Follow this tutorial to generate and add SSH keys to your github account.
Do these steps:
- Go to our github home and hit the fork button (top right).
- Type
$ git clone git@github.com:yourusername/lmms.git
to clone your fork. More information in this github article. Having forked LMMS and cloned it to your hard drive, you can start working on the code.
After you made your changes and implemented your ideas, it's about time to push them to your git repository.
For doing this, you may use the command line, as it's explained below, or use git gui to open a graphical user interface, which can make things a lot easier if you're uncomfortable with the command line.
You can list all changed files by running
$ git status
inside the source root directory. A more detailed view on what exactly has been changed is provided by
$ git diff
The next step is to stage the changes you've made. To stage a file, run
$ git add FILENAME
After that, you have to commit your staged changes. To do so, run
$ git commit
You'll be asked to enter a commit message to summarize what you did. The staging area can also be skipped by just typing
$ git commit -a
This way all changes you made will automatically be staged and committed. Finally, push your commit:
$ git push
Pull requests request the admins to pull from your branch. For more help, read this github article.
You need to do these steps:
- Go to your projects github site
- Click on "Pull Requests"
- Hit "New pull request"
- Check whether the diffs make sense
- Click on "Click here to create a pull request for this comparison"
- Click on "Send pull request"
Later on, if you want to make another commit, you must first (preferably before making changes) rebase your fork on the upstream, ie. sync it with the main LMMS repository. You can do this with the command:
$ git pull --rebase git://github.com/LMMS/lmms.git stable-0.4
To have your changes applied without using GitHub, create a patch file containing your changes by running
$ git diff > my-patch-for-lmms.diff
in the source root directory. Now you have a patch file we can easily apply. Just contact us about it.