mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge.
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# Contributing
|
||||
|
||||
This document briefly describes how to contribute to the
|
||||
galaxy-central core project - also checkout the video of our [2013
|
||||
Galaxy Community Conference
|
||||
presentation](http://vimeo.com/channels/581875/73486255) on the
|
||||
topic. For information on contributing more broadly to the Galaxy
|
||||
ecosystem and a deeper discussion of some of these points - please see
|
||||
the [Develop](https://wiki.galaxyproject.org/Develop/) section of the
|
||||
[Galaxy Wiki](https://wiki.galaxyproject.org/).
|
||||
|
||||
## Before you Begin
|
||||
|
||||
If you have an idea for a feature to add or an approach for a bugfix -
|
||||
it is best to communicate with Galaxy developers early. The most
|
||||
common venue for this is the [Galaxy Trello
|
||||
board](https://wiki.galaxyproject.org/Issues). Browse through existing
|
||||
cards [here](http://bit.ly/gxytrello) and if one seems related comment
|
||||
on it. If no existing cards seem appropriate, a new issue can be
|
||||
opened using [this form](http://galaxyproject.org/trello). Galaxy
|
||||
developers are also generally available via
|
||||
[IRC](https://wiki.galaxyproject.org/GetInvolved#IRC_Channel) and on
|
||||
the [development mailing list](http://dev.list.galaxyproject.org/).
|
||||
|
||||
## How to Contribute
|
||||
|
||||
* If you are new to Mercurial - please check out this [official
|
||||
tutorial](http://mercurial.selenic.com/wiki/Tutorial)
|
||||
|
||||
* Make sure you have a free [Bitbucket
|
||||
account](https://bitbucket.org/account/signup/)
|
||||
|
||||
* Fork the galaxy-central repository on
|
||||
[Bitbucket](https://bitbucket.org/galaxy/galaxy-central/fork) to
|
||||
make your changes. (Many Galaxy instances target
|
||||
[galaxy-dist](https://bitbucket.org/galaxy/galaxy-dist) - but active
|
||||
development happens on galaxy-central and this is where pull
|
||||
requests should be made).
|
||||
|
||||
* Choose the correct Mercurial branch to develop your changes against.
|
||||
|
||||
* Additions to the code base should be pushed to the `default`
|
||||
branch (`hg checkout default`).
|
||||
|
||||
* Most bug fixes to previously release components (things in
|
||||
galaxy-dist) should be pushed to the `stable` branch (`hg checkout
|
||||
stable`).
|
||||
|
||||
* Serious security problems should not be fixed via pull request -
|
||||
please responsibly disclose these by e-mailing them (with or
|
||||
without patches) to galaxy-lab@bx.psu.edu. The Galaxy core
|
||||
development team will issue patches to public servers before
|
||||
announcing the issue to ensure there is time to patch and
|
||||
highlight these fixes widely. We will provide you credit for the
|
||||
discovery when publicly disclosing the issue.
|
||||
|
||||
* If your changes modify code - please ensure the resulting files
|
||||
conform to Galaxy [style
|
||||
guidelines](https://wiki.galaxyproject.org/Develop/BestPractices).
|
||||
|
||||
* Galaxy contains hundreds of tests of different types and complexity
|
||||
and running each is difficult and probably not reasonable at this
|
||||
time (someday we will provide a holistic test procedure to make this
|
||||
possible). For now, please just review the [running tests
|
||||
documentation](https://wiki.galaxyproject.org/Admin/RunningTests)
|
||||
and run any that seem relevant. Developers reviewing your pull
|
||||
request will be happy to help guide you to running the most relevant
|
||||
tests as part of the pull request review process and may request the
|
||||
output of these tests.
|
||||
|
||||
* Commit and push your changes to your Bitbucket fork.
|
||||
|
||||
* Open a [pull
|
||||
request](https://confluence.atlassian.com/display/BITBUCKET/Fork+a+Repo,+Compare+Code,+and+Create+a+Pull+Request)
|
||||
with these changes. You pull request message should include:
|
||||
|
||||
* A description of why the change should be made.
|
||||
|
||||
* A description of implementation of the change.
|
||||
|
||||
* A description of how to test the change.
|
||||
|
||||
## A Quick Note about Tools
|
||||
|
||||
For the most part, Galaxy tools should be published to the
|
||||
[ToolShed](https://wiki.galaxyproject.org/ToolShed) and not in this
|
||||
repository directly. If you are looking to supply fixes for migrated
|
||||
core tools that used to exist in this repository - please checkout
|
||||
the [tools-devteam](https://github.com/galaxyproject/tools-devteam)
|
||||
repository on GitHub.
|
||||
|
||||
More information about tool development can be found [on the
|
||||
wiki](https://wiki.galaxyproject.org/Develop).
|
||||
Reference in New Issue
Block a user