mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-07 19:55:31 -05:00
more on contributing in readme
This commit is contained in:
parent
6d5d2a56e2
commit
1dbd017c43
1 changed files with 43 additions and 5 deletions
48
README.adoc
48
README.adoc
|
|
@ -137,16 +137,54 @@ To build the small benchmarking suite (requires https://github.com/chris00/ocaml
|
||||||
|
|
||||||
== Contributing
|
== Contributing
|
||||||
|
|
||||||
PRs on github are welcome (patches by email too, if you prefer so).
|
PRs on github are very welcome (patches by email too, if you prefer so).
|
||||||
|
|
||||||
A few guidelines:
|
[[first-time-contribute]]
|
||||||
|
=== First-Time Contributors
|
||||||
|
|
||||||
|
Assuming your are in a clone of the repository:
|
||||||
|
|
||||||
|
. Some dependencies are required, you'll need
|
||||||
|
`opam install benchmark qcheck qtest sequence`.
|
||||||
|
. run `make devel` to enable everything (including tests).
|
||||||
|
. make your changes, commit, push, and open a PR.
|
||||||
|
. use `make test` without moderation! It must pass before a PR
|
||||||
|
is merged. There are around 900 tests right now, and new
|
||||||
|
features should come with their own tests.
|
||||||
|
|
||||||
|
If you feel like writing new tests, that is totally worth a PR
|
||||||
|
(and my gratefulness).
|
||||||
|
|
||||||
|
=== General Guidelines
|
||||||
|
|
||||||
|
A few guidelines to follow the philosophy of containers:
|
||||||
|
|
||||||
- no dependencies between basic modules (even just for signatures);
|
- no dependencies between basic modules (even just for signatures);
|
||||||
- add `@since` tags for new functions;
|
- add `@since` tags for new functions;
|
||||||
- add tests if possible (using `qtest`).
|
- add tests if possible (using https://github.com/vincent-hugot/iTeML/[qtest]). There are numerous inline tests already,
|
||||||
|
to see what it looks like search for comments starting with `(*$`
|
||||||
|
in source files.
|
||||||
|
|
||||||
It is helpful to run `make devel` to enable everything. Some dependencies
|
=== For Total Beginners
|
||||||
are required, you'll need `opam install benchmark qcheck qtest sequence`.
|
|
||||||
|
Thanks for wanting to contribute!
|
||||||
|
To contribute a change, here are the steps (roughly):
|
||||||
|
|
||||||
|
. click "fork" on https://github.com/c-cube/ocaml-containers on the top right of the page. This will create a copy of the repository on your own github account.
|
||||||
|
. click the big green "clone or download" button, with "SSH". Copy the URL (which should look like `git@github.com:<your username>/ocaml-containers.git`) into a terminal to enter the command:
|
||||||
|
+
|
||||||
|
[source,sh]
|
||||||
|
----
|
||||||
|
$ git clone git@github.com:<your username>/ocaml-containers.git
|
||||||
|
----
|
||||||
|
+
|
||||||
|
. then, `cd` into the newly created directory.
|
||||||
|
. make the changes you want. See <<first-time-contribute>> for
|
||||||
|
more details about what to do in particular.
|
||||||
|
. use `git add` and `git commit` to commit these changes.
|
||||||
|
. `git push origin master` to push the new change(s) onto your
|
||||||
|
copy of the repository
|
||||||
|
. on github, open a "pull request" (PR). Et voilà !
|
||||||
|
|
||||||
Powered by image:http://oasis.forge.ocamlcore.org/oasis-badge.png[alt="OASIS", style="border: none;", link="http://oasis.forge.ocamlcore.org/"]
|
Powered by image:http://oasis.forge.ocamlcore.org/oasis-badge.png[alt="OASIS", style="border: none;", link="http://oasis.forge.ocamlcore.org/"]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue