##// END OF EJS Templates
release: Merge default into stable for release preparation
release: Merge default into stable for release preparation

File last commit:

r303:ed619a55 default
r306:08b6bdad merge stable
Show More
overview.rst
111 lines | 3.6 KiB | text/x-rst | RstLexer
docs: more comprehensive contributor docs #4039
r303
=======================
Contributing Overview
=======================
RhodeCode Community Edition is an open source code management platform. We
encourage contributions to our project from the community. This is a basic
overview of the procedures for adding your contribution to RhodeCode.
Check the Issue Tracker
=======================
Make an account at https://issues.rhodecode.com/account/register and browse the
current tickets for bugs to fix and tasks to do. Have a bug or feature that you
can't find in the tracker? Create a new issue for it. When you select a ticket,
make sure to assign it to yourself and mark it "in progress" to avoid duplicated
work.
Sign Up at code.rhodecode.com
=============================
Make an account at https://code.rhodecode.com/ using an email or your existing
GitHub, Bitbucket, Google, or Twitter account. Fork the repo you'd like to
contribute to; we suggest adding your username to the fork name. Clone your fork
to your computer. We use Mercurial for source control management; see
https://www.mercurial-scm.org/guide to get started quickly.
Set Up A Local Instance
=======================
You will need to set up an instance of RhodeCode CE using VCSServer so that you
can see your work locally as you make changes. We recommend using Linux for this
but it can also be built on OSX.
See :doc:`dev-setup` for instructions.
Code!
=====
You can now make, see, and test your changes locally. We are always improving to
keep our code clean and the cost of maintaining it low. This applies in the same
way for contributions. We run automated checks on our pull requests, and expect
understandable code. We also aim to provide test coverage for as much of our
codebase as possible; any new features should be augmented with tests.
Keep in mind that when we accept your contribution, we also take responsibility
for it; we must understand it to take on that responsibility.
See :doc:`standards` for more detailed information.
Commit And Push Your Changes
============================
We highly recommend making a new bookmark for each feature, bug, or set of
commits you make so that you can point to it when creating your pull request.
Please also reference the ticket number in your commit messages. Don't forget to
push the bookmark!
Submit a Pull Request
=====================
Go to your fork, and choose "Create Pull Request" from the Options menu. Use
your bookmark as the source, and choose someone to review it. Don't worry about
chosing the right person; we'll assign the best contributor for the job. You'll
get feedback and an assigned status.
Be prepared to make updates to your pull request after some feedback.
Collaboration is part of the process and improvements can often be made.
Sign the Contributor License Agreement
======================================
If your contribution is approved, you will need to virtually sign the license
agreement in order for it to be merged into the project's codebase. You can read
it on our website here: https://rhodecode.com/static/pdf/RhodeCode-CLA.pdf
To sign, go to code.rhodecode.com
and clone the CLA repository. Add your name and make a pull request to add it to
the contributor agreement; this serves as your virtual signature. Once your
signature is merged, add a link to the relevant commit to your contribution
pull request.
That's it! We'll take it from there. Thanks for your contribution!
------------------------------------------------------------------
.. note:: If you have any questions or comments, feel free to contact us through
either the community portal(community.rhodecode.com), IRC
(irc.freenode.net), or Slack (rhodecode.com/join).