# Pull request guidelines Due to our limited resources and in order to give everyone a chance to submit a pull request, we have put restrictions in place this year. If you want to submit a pull request, please take into account the following rules: 1. Pull requests must be based on an issue that existed **before GSoC was started**, or based on an issue created by a moderator. 2. Each contributor **may only create one pull request at a time**. Once your pull request has been merged, you can post a second one. We have this rule in place due to our limited resources - if everyone was allowed to post multiple pull requests we will not be able to review them properly. It is also better for you because you only need to care about one PR - so spend time making sure it is as good as it can be - make sure it works well, has test units, documentation and screenshots (if relevant). 3. If the pull request has serious issues, or would require a significant rewrite to be acceptable, we might closed it and you will not be allowed to open a new one. So **please be careful when posting a PR**. 4. **If you are borrowing code, please disclose it**. It is fine and sometimes even recommended to borrow code, but we need to know about it to assess your work. If we find out that your pull request contains a lot of code copied from elsewhere, we will close the pull request. 5. **All pull request must have test units**. Additionally, if needed, please provide manual tests - i.e. a series of steps we can follow to verify that your feature is working. Many contributors omit the test units however **this is not optional** - a pull request without them will be immediately closed. If you don't know how to add tests, please ask on the forum or Discord. See also the [Testing plan section](https://github.com/laurent22/joplin/blob/dev/readme/technical_spec.md#testing-plan) for more info on how to write tests. 6. **No Work In Progress**. ONLY completed and working pull requests, and with test units, will be accepted. A WIP would fall under rule 3 and be closed immediately. 7. Please **do not `@mention` contributors and mentors and do not ask for pull request reviews**. Sometimes it takes time before we can review your pull request or answer your questions but we'll get to it sooner or later. `@mentioning` someone just adds to the pile of notifications we get and it won't make us look at your issue faster. 8. **Do not force push**. If you make changes to your pull request, please simply add a new commit as that makes it easy for us to review your new changes. If you force push, we'll have to review everything from the beginning. These rules we hope are fair to everyone, to contributors and maintainers, however if something is unclear or you have any question about them, please let us know!