IMP logo
IMP Manual  for IMP version 2.22.0
Contributing code back to IMP

In order to be shared with others as part of the IMP distribution, code needs to be of higher quality and more thoroughly vetted than typical research code. All code contributed to IMP

  • must follow the code conventions
  • should follow general good C++ programming practices
  • must have unit tests that all pass when run with ctest
  • must have documentation that builds without warnings
  • must build on all supported compilers (roughly, recent versions of gcc, clang++ and Visual C++) without warnings
  • should have examples that all work when run with ctest

Once your code is ready to go, open a pull request to get the changes from your fork back into the main repository.

Note
that all development occurs in the develop branch. No development is done directly in the main branch - it is updated for each release by merging from the develop branch, as per the gitflow branching model. If your change is a bug fix that should also patch the last release, once your code is in develop open an issue on GitHub assigned to benmwebb and connected to the milestone for the next point release (e.g. a milestone with a name like IMP 2.0.1 point release).