108 lines
3.4 KiB
ReStructuredText
108 lines
3.4 KiB
ReStructuredText
|
|
=======================
|
|
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 at https://rhodecode.com/rhodecode-cla
|
|
|
|
To sign electronically, go to https://rhodecode.com/sign-cla
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
|