CONTRIBUTING.md 2.96 KB
Newer Older
1 2
Contributing to VTK
===================
3

4
This page documents at a very high level how to contribute to VTK.
5 6
Please check our [developer instructions] for a more detailed guide to
developing and contributing to the project, and our [VTK Git README]
7
for additional information.
8

9 10 11 12 13 14 15
1.  The canonical VTK source is maintained on a GitLab instance
    at https://gitlab.kitware.com/vtk/vtk.<br/>
    [Create an account] there if you don't have one yet.<br/>
    **Note:** *If you're reading this document on GitHub,
    bear in mind that it is just a mirror, so pull requests here aren't merged.
    But don't worry, the workflow in GitLab is pretty similar
    and you can even sign up using your GitHub account.*
16

17
2.  [Fork VTK] into your user's namespace on GitLab.
18

19
3.  Follow the [download instructions] to create a
20 21 22 23 24 25
    local clone of the main VTK repository:

        $ git clone https://gitlab.kitware.com/vtk/vtk.git VTK
        $ cd VTK
    The main repository will be configured as your `origin` remote.

26
    For more information see: [Setup]
27

28
4.  Run the [developer setup script] to prepare your VTK work tree and
29 30 31 32 33 34
    create Git command aliases used below:

        $ ./Utilities/SetupForDevelopment.sh
    This will prompt for your GitLab user name and configure a remote
    called `gitlab` to refer to it.

35
    For more information see: [Setup]
36 37 38 39 40 41 42

5.  Edit files and create commits (repeat as needed):

        $ edit file1 file2 file3
        $ git add file1 file2 file3
        $ git commit

43
    For more information see: [Create a Topic]
44 45 46 47 48

6.  Push commits in your topic branch to your fork in GitLab:

        $ git gitlab-push

49
    For more information see: [Share a Topic]
50 51 52 53 54

7.  Visit your fork in GitLab, browse to the "**Merge Requests**" link on the
    left, and use the "**New Merge Request**" button in the upper right to
    create a Merge Request.

55
    For more information see: [Create a Merge Request]
56 57 58 59


VTK uses GitLab for code review and Buildbot to test proposed
patches before they are merged.
60

61 62 63
Our [Wiki] is used to document features, flesh out designs and host other
documentation. Our API is documented using [Doxygen] with updated
documentation generated nightly. We have several [Mailing Lists]
64 65
to coordinate development and to provide support.

66
[VTK Git README]: Documentation/dev/git/README.md
67
[developer instructions]: Documentation/dev/git/develop.md
68
[Create an account]: https://gitlab.kitware.com/users/sign_in
69
[Fork VTK]: https://gitlab.kitware.com/vtk/vtk/forks/new
70 71 72 73 74 75 76
[download instructions]: Documentation/dev/git/download.md#clone
[developer setup script]: /Utilities/SetupForDevelopment.sh
[Setup]: Documentation/dev/git/develop.md#Setup
[Create a Topic]: Documentation/dev/git/develop.md#create-a-topic
[Share a Topic]: Documentation/dev/git/develop.md#share-a-topic
[Create a Merge Request]: Documentation/dev/git/develop.md#create-a-merge-request

77 78 79
[Wiki]: http://www.vtk.org/Wiki/VTK
[Doxygen]: http://www.vtk.org/doc/nightly/html
[Mailing Lists]: http://www.vtk.org/VTK/help/mailing.html