If you are interested to help BEdita to grow and become always better, here you can find some simple rules you should follow.
Reporting a bug
Before submitting a bug
- have a look at Official Documentation to check if you are misusing BEdita
- ask for help on Google Group if you are not sure that the issue is really a bug
Submitting a bug
If your problem seems a bug then you should open an issue on the official bug tracker paying attention to:
- fill the title with a clear and short description of the issue
- describe the steps to reproduce the bug
- give us your enviroment information as OS, BEdita version, PHP version, etc...
BEdita code is hosted at Github so the best way to contribute code is through pull requests. BEdita is under Git DVCS so you should install and configure it and Github as first step. You can find an easy guide on Github. If you are new to Git, we recommend you to read the excellent and free ProGit book.
After you configure you have to fork the BEdita repository by clicking the Fork button.
Then clone your fork locally:
git clone https://github.com/USERNAME/bedita.git
Add the upstream repository as remote
cd bedita git remote add upstream https://github.com/bedita/bedita.git
Working on a patch
Each time you want to work on a bug, feature or enhancement create a topic branch.
Choose the right branch on which you would work. If you work on a bug fix for the current stable release, you should use the
master branch, If you want to fix a bug in some other branch as
3.1-ulmus you should switch to that branch, for example
git checkout -t upstream/3.1-ulmus
When you are on the right branch you create a topic branch for the issue you want to work on, so assuming to use
git checkout -b YOUR-TOPIC-BRANCH upstream/master
a good name for the topic branch is the number of the related issue, for example issue-123.
You are ready to work on YOUR-TOPIC-BRANCH making commits of logical units and writing clear commit messages.
Submitting a pull request
Once you finished your work you are ready to ask to merge the changes in BEdita, so first you have to update your branch:
git checkout master git fetch upstream git merge upstream/master git checkout YOUR-TOPIC-BRANCH git rebase master
This will fetch and merge in any changes that have happened in BEdita since you started. It will then rebase your changes on top of the current code to maintain a more clear and compact history.
Sometimes you might encounter a conflict during the
rebase. In this case you can see which files are conflicted with
git status. Resolve each conflict, and then continue the rebase:
git add filename # do this for each conflicted file git rebase --continue
Now you can push YOUR-TOPIC-BRANCH to your forked repository
git push origin YOUR-TOPIC-BRANCH
Finally you can submit a pull request using YOUR-TOPIC-BRANCH on the relative BEdita branch. Have a look at Github pull request documentation.
Remember that every patch pushed to BEdita repository will be released following the license that the relative branch provides (LGPL for BEdita 3.2 and AGPL for BEdita 3.1).