Skip to content

Commit 693b623

Browse files
committed
Added contribution guide
Added contribution guide
1 parent 8c48d39 commit 693b623

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

CONTRIBUTING.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# How to Contribute
2+
3+
We love Pull Requests! Your contributions help make LibGit2Sharp great.
4+
5+
## Getting Started
6+
7+
So you want to contribute to LibGit2Sharp. Great! Contributions take many forms from
8+
submitting issues, writing documentation, to making code changes. We welcome it all.
9+
10+
But first things first...
11+
12+
* Make sure you have a [GitHub account](https://github.com/signup/free)
13+
* Submit a ticket for your issue, assuming one does not already exist.
14+
* Clearly describe the issue including steps to reproduce when it is a bug.
15+
* Make sure you fill in the earliest version that you know has the issue.
16+
* Fork the repository on GitHub by clicking on the "Clone in Desktop" button or
17+
run the following command in a git shell.
18+
```
19+
git clone git@github.com:libgit2/libgit2sharp.git
20+
21+
git clone --recursive
22+
```
23+
* Make sure the project builds and all tests pass on your machine by running
24+
the `build.libgit2sharp.cmd` script on Windows and `build.libgit2sharp.sh` on Linux/Mac.
25+
26+
## LibGit2
27+
28+
LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .Net and Mono.
29+
LibGit2 is a git submodule referencing the [libgit2 project](https://github.com/libgit2/libgit2). To learn more about
30+
submodules read [here](http://git-scm.com/book/en/v2/Git-Tools-Submodules).
31+
To build libgit2 see [here](https://github.com/libgit2/libgit2sharp/wiki/How-to-build-x64-libgit2-and-LibGit2Sharp).
32+
33+
## Making Changes
34+
35+
* Create a topic branch off vNext (don't work directly on vNext).
36+
* Implement your feature or fix your bug. Please following existing coding styles and do not introduce new ones.
37+
* Make atomic, focused commits with good commit messages.
38+
* Make sure you have added the necessary tests for your changes.
39+
* Run _all_ the tests to assure nothing else was accidentally broken.
40+
41+
## Submitting Changes
42+
43+
* Push your changes to a topic branch in your fork of the repository.
44+
* Send a Pull Request targeting the vNext branch. Note what issue/issues your patch fixes.
45+
46+
Some things that will increase the chance that your pull request is accepted.
47+
48+
* Following existing code conventions.
49+
* Including unit tests that would otherwise fail without the patch, but pass after applying it.
50+
* Updating the documentation and tests that are affected by the contribution.
51+
* If code from elsewhere is used, proper credit and a link to the source should exist in the code comments.
52+
Then licensing issues can be checked against LibGit2Sharp's very permissive MIT based open source license.
53+
* Having a configured git client that converts line endings to LF. [See here.](https://help.github.com/articles/dealing-with-line-endings/).
54+
# Additional Resources
55+
56+
* [General GitHub documentation](http://help.github.com/)
57+
* [GitHub pull request documentation](https://help.github.com/articles/using-pull-requests/)

0 commit comments

Comments
 (0)