Skip to content

Compare: How to contribute

New page
Showing with 167 additions and 11 deletions.
  1. +3 −2 Development-Discussions.md
  2. +54 −0 Hamster-2.x-on-Xubuntu-18.04.md
  3. +4 −2 Home.md
  4. +65 −5 How-to-contribute.md
  5. +2 −2 Notes-on-current-hamster.md
  6. +39 −0 Our-datamodel.md
70 changes: 65 additions & 5 deletions How-to-contribute.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,71 @@
# Send in bug reports, feature request, comments
* [Check](https://github.com/projecthamster/hamster/issues) if a relevant issue already exists
* If not, please feel encourage to [let us know](https://github.com/projecthamster/hamster/issues/new) :)
* If not, please feel encouraged to [let us know](https://github.com/projecthamster/hamster/issues/new) :)

Please state the version you are using.
In case of a development version, this is the output of
```bash
git describe --abbrev=40 --always --dirty=+
```
* Look out for [help wanted](https://github.com/projecthamster/hamster/labels/help%20wanted) flags.
You might just have the knowledge needed to overcome a difficulty.

# Contribute code
* Fork this project
* Create a topic branch - git checkout -b my_branch
* Push to your branch - git push origin my_branch
# Test
Feedback on pending [pull requests](https://github.com/projecthamster/hamster/pulls) is precious !

Contributing for the first time can be a bit intimidating. But it is worth it !

*Please file an issue or edit this wiki if something is not clear.*

## One-shot test

At the bottom of the pull request, look for a line similar to

> Add more commits by pushing to the **waf-update** branch on **ederag/hamster**.

to try out this pull request, the one-shot solution ([thanks Gerald](https://github.com/projecthamster/hamster/pull/421#issuecomment-520136033) !) is
```bash
# clone the waf-update branch of ederag/hamster, into the hamster-waf-update directory.
git clone --branch=waf-update git@github.com:ederag/hamster.git hamster-waf-update
# go to the newly created directory, holding the PR version
cd hamster-waf-update
```
Then follow these [instructions](https://github.com/projecthamster/hamster#trying-the-development-version).

Of course creating a new directory to try out any new modification can become tedious;
it is possible to create a local clone of a fork,
linked to the upstream (main project, read-only) repository.

## Fork

* [Fork](https://help.github.com/en/articles/fork-a-repo) this project,
making sure to follow all the steps, until

`git remote -v` displays `fetch` and `push` lines both for `origin` and `upstream`.

* In the fork clone directory, edit `.git/config`, adding the line (found in the [git book](https://git-scm.com/book/en/v2/GitHub-Maintaining-a-Project))
```
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
```
It is then possible to try out PR 421 (replace by the relevant PR number) with
```
git fetch --all
git checkout pr/421
```

## Contribute code

* Before any change, it is good practice to issue
```bash
git fetch --all # get all information available (including upstream)
git checkout upstream/master # start from the upstream master branch
```
* Create a topic branch: `git checkout -b my_branch`
* Push to your branch - `git push origin my_branch`

or just `git push`, which will provide the correct command to use.

Follow the link that appears, or go to your github fork repo to...
* Submit a Pull Request with your branch
* That's it!
Expand Down