]> git.proxmox.com Git - libgit2.git/blame - CONTRIBUTING.md
Fix git_index sorting with core.ignorecase in git_index_read
[libgit2.git] / CONTRIBUTING.md
CommitLineData
41b00ccc
BS
1# Welcome to libgit2!
2
3We're making it easy to do interesting things with git, and we'd love to have
4your help.
5
6## Discussion & Chat
7
8We hang out in the #libgit2 channel on irc.freenode.net.
9
10## Reporting Bugs
11
12First, know which version of libgit2 your problem is in. Compile and test
13against the `development` branch to avoid re-reporting an issue that's already
14been fixed.
15
16It's *incredibly* helpful to be able to reproduce the problem. Please include
17a bit of code and/or a zipped repository (if possible). Note that some of the
18developers are employees of GitHub, so if your repository is private, find us
19on IRC and we'll figure out a way to help you.
20
21## Pull Requests
22
23Life will be a lot easier for you if you create a named branch for your
24contribution, rather than just using your fork's `development`.
25
26It's helpful if you include a nice description of your change with your PR; if
27someone has to read the whole diff to figure out why you're contributing in the
28first place, you're less likely to get feedback and have your change merged in.
29
30## Porting Code From Other Open-Source Projects
31
32The most common case here is porting code from core Git. Git is a GPL project,
33which means that in order to port code to this project, we need the explicit
34permission of the author. Check the
35[`git.git-authors`](https://github.com/libgit2/libgit2/blob/development/git.git-authors)
36file for authors who have already consented; feel free to add someone if you've
37obtained their consent.
38
39Other licenses have other requirements; check the license of the library you're
40porting code *from* to see what you need to do.
41
42## Styleguide
43
44We like to keep the source code consistent and easy to read. Maintaining this
45takes some discipline, but it's been more than worth it. Take a look at the
ee72ffd0 46[conventions file](https://github.com/libgit2/libgit2/blob/development/CONVENTIONS.md).
41b00ccc 47