Clone the repo and develop on the "develop" branch for new features and version branches (eg. v3.3) for bug fixes.
All features and bugfixes must be fully tested and must have a reference to an issue in GitHub, there are absolutely no exceptions.
It's highly recommended that you write/run unit tests during development as it can help you pick up on issues early on. See the Unit Testing section below.
Go to https://github.com/koseven/koseven for each repo in the top right theres a button that says Fork. Click there to clone each repo. That will copy the repos to your github user, ex: https://github.com/neo22s/koseven
Clone your project in local and use devel branch
git clone [email protected]:neo22s/koseven.git
cd koseven
git checkout devel
This will clone the koseven project
Ready ;)
If you have made modifications to the code.
git status # to see what's going on
git commit -a -m 'message here, this will commit the changes on the tracked files'
git push origin devel # will "upload" the changes to your repo
Tricks
git add . # will add all the files, even new ones
git add -u # will add all the tracked files even the deleted ones
git commit -a -m 'working closed etc #725' # this will commit and mention an issue in the repo
Now you have new code at your fork ex https://github.com/neo22s/koseven. To move them to the original https://github.com/koseven/koseven repo you need to go to https://github.com/neo22s/koseven, and click on Pull Request (next to compare). This will create a pull request to the original code and the responsible will decide to merge it or not.
Notes:
- Try to submit pull requests against devel branch for easier merging
- Try not to pollute your pull request with unintended changes--keep them simple and small
- Try to share which browsers your code has been tested in before submitting a pull request
First time, add a remote with the upstream
git remote add upstream https://github.com/koseven/koseven.git
Everytime you want to sync just
git fetch upstream
git merge upstream/devel
Remember to be at you devel branch!
Make a PR with the fix, explain as in detail as possiblle.
Tag names should be prefixed with a v
, this helps to separate tag references from branch references in Git.
For example, if you were creating a tag for the 3.1.0
release the tag name would be v3.1.0
Koseven currently uses PHPUnit for unit testing. This is installed with composer.
- Install Composer
- Run
php composer.phar install
from the root of this repository - Finally, run
vendor/bin/phpunit --bootstrap=modules/unittest/bootstrap.php modules/unittest/tests.php
This will run the unit tests for core and all the modules and tell you if anything failed. If you haven't changed anything and you get failures, please create a new issue on and paste the output (including the error) in the issue. Please note that a few tests only pass on linux systems.