Permalink
Browse files

Update contribution guide for standalone C library

  • Loading branch information...
1 parent c699953 commit 70b5fc0b5a1ccbbb42e114b4d8a110dd72883d68 @gaborcsardi gaborcsardi committed Jan 14, 2015
Showing with 23 additions and 38 deletions.
  1. +23 −38 CONTRIBUTING.md
View
@@ -13,14 +13,24 @@ completely fine and also most welcome. For bigger changes, we suggest
that you open an issue before you start coding, so that we can maximize
the probability that we can successfully merge in your code.
+## R, C or Python
+
+Fork the appropriate igraph repository at github: https://github.com/igraph/.
+The igraph C library is in https://github.com/igraph/igraph, the Python
+interface is in https://github.com/igraph/python-igraph. The R interface is
+in https://github.com/igraph/rigraph.
+
+An enhancement that is specific to R or Python or C (or a subset) is prefectly
+fine. You are not obliged to write wrappers in both R or Python. E.g. updating
+plotting code in R or Python is also fine.
+
+This document is concerned with the igraph C library.
+
## Making Trivial Changes
-* Fork the igraph repository at github: https://github.com/igraph/igraph
-* Please always use the `develop` branch. Choose this branch in your
+* Please always use the `master` branch. Choose this branch in your
fork.
-* Then look for the file you want to modify. C sources and docs are in `src`.
- Python sources and docs are in `interfaces/python`. R sources and docs are in
- `interfaces/R`.
+* Then look for the file you want to modify.
* Clique on the edit symbol (pen) on the upper right corner of the file view.
* Make your edits.
* Write a short commit message, less than 65 characters. E.g.
@@ -51,11 +61,11 @@ edit the sources on your computer, instead of online on Github.
for others. Just in case somebody is already working on the same thing,
or it is something we don't want in igraph.
* Fork the repository, and clone it to the machine you'll work on.
-* We usually build igraph on OSX, so the `develop` branch is usally fine
+* We usually build igraph on OSX, so the `master` branch is usally fine
on that platform. It might have problems on other systems. If this
happens, please open an issue and tell us.
-* Make sure you work on the `develop` branch.
-* Once ready with your changes, build igraph, and run the tests. For the C
+* Make sure you work on the `master` branch.
+* Once ready with your changes, build igraph, and run the tests.
library this means
```sh
@@ -64,18 +74,7 @@ edit the sources on your computer, instead of online on Github.
make
make check
```
-
- For the R package you need to do:
-
- ```sh
- cd interfaces/R
- make
- R CMD INSTALL igraph
- Rscript -e 'library(igraph); igraph_test()'
- ```
-
- Note that if you modify C code that is used in R/Python (most C code is!), then
- you need to test these, too.
+
* Submit your pull request.
* Now you need to wait for us, unfortunately. Please ping us, if it takes
long to respond. E.g. a week is considered to be long.
@@ -86,12 +85,6 @@ Some tips on writing igraph code. In general, look at how things are done,
and try to do them similarly. (Unless you think they are not done well, in which
case please tell us.)
-### R vs Python vs C
-
-An enhancement that is specific to R or Python or C (or a subset) is prefectly
-fine. You are not obliged to write wrappers in both R or Python. E.g. updating
-plotting code in R or Python is also fine.
-
### Code Formatting
Look at the style (indentation, braces, etc.) of some recently committed
@@ -123,21 +116,13 @@ not use the libc RNGs or other RNGs.
### Documentation
Please document your new functions. The C documentation is included in the C
-source code. The R documentation is now generated with `roxygen2`, and
-it is included in the R source code. Python docs are in the Python source
-files.
+source code.
### Test Cases
-Unless you change something trivial, please consider adding test cases,
-either in C or R or Python (or all of them, of you contribute to all three).
-This is important!
-
-### Your name in the list of AUTHORS
-
-There is a list of authors in the `AUTHORS` file in the R package. If you
-add C or R code, please feel free to add your name here. Note that there might
-be two copies of the same file, at least a the time of writing there are.
+Unless you change something trivial, please consider adding test cases.
+This is important! See the `tests` and the `examples/simple` directories
+for existing tests that you can use as examples.
### Ask Us!

0 comments on commit 70b5fc0

Please sign in to comment.