##// END OF EJS Templates
diffs: optimize how lexer is fetche for rich highlight mode....
diffs: optimize how lexer is fetche for rich highlight mode. - speeds up initial diff creation significantly since lexer cache is re used and we don't need to fetch lexer many times.

File last commit:

r553:959aac9f default
r1356:1e4a47eb default
Show More
overview.rst
108 lines | 3.4 KiB | text/x-rst | RstLexer

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).