Skip to content

DistributedDevelopment

Tyler Reddy edited this page May 5, 2015 · 4 revisions

This page is currently only a quick selection of notes. Feel free to clean it up and make it more usable for everyone.

Note: Please also check the repository structure and the development workflow.

git allows us to use a distributed development model.

  1. Anyone can simply clone the repository and work on the clone.
  2. Once the code in the clone is ready to be integrated in the main development line, send a "pull" request to the mdnalysis-devel list so that one of the core developers can review the changes and integrate them.

Example

fullofgrace88 wants to tackle Issue 2 so they created the clone fullofgrace88-mdanalysis-tpr-reader. They will work on the clone.

A core developer can create a separate topic branch (here named "Issue/2") in their own local repository for testing anything that comes from the clone:

git remote add fullofgrace88 https://code.google.com/r/fullofgrace88-mdanalysis-tpr-reader 
git fetch --all
git checkout -b Issue/2 fullofgrace88/master

Once this is done, the developer can switch to the topic branch with

git checkout Issue/2

(Switching back to the main development line is git checkout develop.)

Once a pull request comes in, the developer does

git checkout Issue/2
git pull

and reviews/test the changes. If all goes well, the changes are merged into the development branch with

git checkout develop
git merge Issue/2

and eventually pushed to the main repository with git push.

Clone this wiki locally