Skip to content

Developer Information

pstanczyk edited this page Jun 12, 2012 · 10 revisions

Information for Developers

Getting Started

Some simple steps to get you started:

  • Sign in with your git hub account / create a new one.
  • Hit the Fork button to create your remote copy of the repository.
  • Clone the newly forked repository into your workspace with: [email protected]:<username>/openexr-1.git

The above will create a copy of the repository in your working directory. From there, please follow the instructions in the README files as to how to build the source code.

Submissions

Legal

Before we are able to accept any non-trivial submissions we must have a valid Contributor License Agreement (CLA) in place with you. You can grab this document from the downloads sections right here on github

Submission Process

Working with git makes it easy for developers to contribute to the OpenEXR. In general, once you have forked and cloned your copy of the repository, see the Getting Started section above, you can supply a patch via email (cc the openexr-dev list) or submit a pull request [1]

In order to preserve a clean history of changes we wish to largely avoid making straight merges. Instead, we take the approach of working with patches via the commands: git format-patch and git am commands.

When you make the patch be sure that you have merge in the latest from the master branch. Also, for good practice, attempt a dry run with the --check option to check for any issues.

Upon receiving the patch we'll create a local branch and patch in the changes to see what's what. If the patch won't apply we'll ask you to to try generating a clean patch. If it all works out then we'll apply the patch to master and push the changes to github.

Commits

Commit Message Formats

In general, commit messages should be composed of two sections. The first line should be a brief description of what's been done. Then a blank line and then a more detailed descriptions as appropriate. A consistent approach should make it easier to navigate around the code base.

References

This is a great source of information in all matters git; http://git-scm.com/book


[1] A pull request also generates the patch file that can be used. As before it is worth checking to see if the patch will apply cleanly.

Clone this wiki locally