Adds: * Clang ASAN * distcheck * Docs compile check * Clang scanbuild * Valgrind Also fixes some m4 scripts and an issue found by one of the checks.
3.2 KiB
Using GitHub
GitHub contributions typically work by creating a fork of the project on your user account, making a branch on that fork to work on and then filing a pull request to upstream your code. This is how you would go about it.
Forking
Go to the libMariaS3 GitHub page and click the Fork button near the top. Once you have forked you can get a local copy of this fork to work on (where user is your username):
git clone https://github.com/user/libmarias3.git
You then need to make your local clone aware of the upstream repository:
cd libmarias3
git remote add upstream https://github.com/mariadb-corporation/libmarias3.git
Branch
Before creating a branch to work on you should first make sure your local copy is up to date:
git checkout master
git pull --ff-only upstream master
git push
You can then create a branch from master to work on:
git checkout -b a_new_feature
Hack on code!
Hack away at your feature or bug.
Test
Once your code is ready the test suite should be run locally:
make
make check
If there are documentation changes you should install
python-sphinx
and try to build the HTML version to run a
syntax check:
make html
Commit and push
If you have never contributed to GitHub before then you need to setup git so that it knows you for the commit message:
git config --global user.name "Real Name"
git config --global user.email "me@me.com"
Make sure you use git add to add any new files to the repository and then commit:
git commit -a
Your editor will pop up to enter a commit messages above the comments. The first line should be no more than 50 characters and be a subject of the commit. The second line should be blank. The third line onwards can contain details and these should be no more than 72 characters each.
If your commit fixes an issue you can add the following (for issue #93):
Fixes mariadb-corporation/libmarias3#93
Once all your commits are done a quick rebase may be needed to make sure your changes will merge OK with what is in master:
git fetch upstream
git rebase -i upstream/master
This should bring up a commit-style message in the editor with
pick as the first word. Save this and the rebase will complete.
If the rebase tells you there is a conflict you will need to locate the
problem using git diff
, fix it and do:
git add <filename>
git rebase --continue
If things look like they are going wrong you can undo the rebase using the following and can get in touch with us:
git rebase --abort
You should now be ready to push up to GitHub:
git push --set-upstream origin a_new_feature
If you go to your repository on GitHub's website you will an option to file a Pull Request. Use this to submit a pull request upstream for your branch.
Help
If you get stuck at any point feel free to reach out to us by filing an issue on Github.