Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Development Resources/Contributing via Git

< Development Resources
Revision as of 13:57, 2 July 2013 by Markus keller.ch.ibm.com (Talk | contribs) (Contributing via Bugzilla: A one-liner is enough to confirm CoO)

This page is for individuals who want to make a contribution to an Eclipse project via Git or Gerrit.

There's more information for committers on the Handling Git Contributions page.

Communication

If you want to contribute to an Eclipse project, you should first communicate with that project. Communication takes many forms, but generally occurs on a project's "dev" list, or via Bugzilla.

You can find the appropriate entry points on the project's page on the forge:

Eclipse Foundation Contributor License Agreement

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

To create a CLA:

  • Create an account with the Eclipse Foundation if you have not already done so;
    An Eclipse Account will grant you access to Gerrit, Bugzilla, and other Eclipse Foundation web resources.
    Use the same account to contribute to Eclipse, LocationTech, and PolarSys projects.
  • Sign a CLA.

Be sure to use the same email address when you register for the account that you intend to use on Git commit records.

The Commit Record

If a project supports Gerrit, you can push directly to that repository. Alternatively, if you have a public Git repository, a project committer can pull your contribution. Each project should have a contribution guide that will let you know the best way to deliver your contribution.

Minimally, your Git commit record must have the following:

  • A single line summary in the comment field, followed by a more detailed descriptive paragraph;
  • Your credentials (email address) captured in the "Author" field; and
  • A "Signed-off-by" entry with matching credentials in the comment.

If applicable, a reference to the Bug that is addressed by the commit is a helpful addition.

For example:

commit 862e6ff22ad56c10df6de3385ffa4c7d02363d1d
Author: Joe Somebody <somebody@someplace.net>
Date:   Mon Jun 17 17:19:38 2013 -0700

    Auto share multiple projects in single job
    
    When multiple projects are imported together, perform all the necessary
    auto shares in a single job rather than spawning a separate job for each
    project.
    
    Bug: 410937
    Signed-off-by: Joe Somebody <somebody@someplace.net>

The "Signed-off-by" entry is required. By including this, you confirm that you are in compliance with the Certificate of Origin.

Signing off on a commit

Both Git and EGit have built-in support for signing off on a commit.

From command-line Git, add -s to the command:

git commit -s -m "Auto share multiple projects in single job"

From EGit, there is a handy button in the commit dialog box:

Signed-off-by.png

EGit can also be configured to sign-off all commits you create from EGit automatically:

  • click "Preferences > Team > Git > Commit Dialog"
  • check "Footers > Insert Signed-off-by"

Contributing via Bugzilla

If you cannot push to a project's Gerrit repository, or do not have a public Git repository from which a project committer can pull, you can submit your contribution as a patch attachment on a Bugzilla record.

You must have a signed CLA on file.

Further, you need to sign-off on the Certificate of Origin in a comment on the bug. For example:

This contribution complies with http://www.eclipse.org/legal/CoO.php

A Word about Eclipse Foundation Accounts

The Eclipse Foundation maintains multiple separate forges. The same user account applies for all forges. If you, for example, create an account on eclipse.org, that same account can be used on LocationTech or PolarSys. A signed CLA is connected to your Eclipse Foundation account; this means that with the single valid CLA on file, you can contribute to any project on any of the forges.

This page is moderated by the EMO.

Back to the top