Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Until 2011-11-28, the source code was stored in a subversion repository but was converted to git. The SVN repositoryrepository still exists and is full accessible, using any of the instructions in this section. However, all development is done in the git repository using git.
DO NOT USE THE svn REPOSITORY — see the notes on the git repository instead.
Below are some of the old notes on how to use the repository (geared towards developers).
Note that the password that
svn asks for is not your gmail password but the googlecode.com generated one.
git is a very modern, distributed source code management system. There are advantages to using it, even in conjunction with a svn repository.
Quick notes on how to this with googlecode:
First make a file to translate commitor names to persons:
cat >AUTHORS.txt <<EOF oliver = Oliver Beckstein <email@example.com> orbeckst = Oliver Beckstein <firstname.lastname@example.org> denniej0 = Elizabeth Denning <email@example.com> firstname.lastname@example.org = Elizabeth Denning <email@example.com> naveen.michaudagrawal = Naveen Michaud-Agrawal <firstname.lastname@example.org> nmichaud = Naveen Michaud-Agrawal <email@example.com> root = Oliver Beckstein <firstname.lastname@example.org> Danny.Parton = Danny Parton <email@example.com> philipwfowler = Philip Fowler <firstname.lastname@example.org> tyler.je.reddy = Tyler Je Reddy <email@example.com> firstname.lastname@example.org = Tyler Je Reddy <email@example.com> joseph.goose = Joseph Goose <firstname.lastname@example.org> jandom = Jan Domanski <email@example.com> EOF
Clone the repository; this takes a while but only has to be done once:
git svn clone -A AUTHORS.txt --stdlayout --username USERNAME https://mdanalysis.googlecode.com/svn mdanalysis
This will pull in the whole change history and build a git repository.
Typical svn-like use:
git svn rebase # pull changes from svn repository = "svn update" # edit FILE1 FILE2 ... git status # show changes (svn status) git add FILE1 FILE2 # add (svn add) or mark files for inclusion in next commit (-/-) git commit -m "fixed the flux-flobberer" # commits LOCALLY in git # ... do more work locally, add, commit # finally, upload changes to googlecode git svn dcommit # all changes since rebase are uploaded (svn commit)
You can then git to make local branches, rewrite local history etc. Just follow some simple rules:
- The git "master" should correspond to the svn "trunk".
- Do not
git-mergeany branches that are in the svn repository. Only merge local branches into the master (trunk).
- Do not clone the git repository itself. Always
git svn clonethe googlecode svn repository; otherwise odd things might happen.
git-cherrypickto port patches from one svn branch to another (e.g. port last-minute fixes from release branches to trunk).
git svn dcommit -nto check that you are submitting to the correct branch.
- Only rewrite local history (
git-rebase); local means anything that has not appeared in the googlecode repository yet (i.e. before a
git svn dcommit).
Post questions and comments below.