Latest Updates
Latest Tweets
Fork me on GitHub

Math.NET Numerics Sourcecode Repository

We use Git as distributed version control system for our source code repositories, but provide readonly subversion and mercurial mirrors for anyone who can't use git for some reason.

Master Repository

Our master repository is hosted at github. We recommend to clone directly from this master repository in most cases. Whenever we mention mainline, we refer to the master baranch in this repository.

git://github.com/mathnet/mathnet-numerics.git

Mirror Repositories

For backup and convenience (more reach) we also provide read-only mirror repositories.

  • Git at gitorious: git://gitorious.org/mathnet-numerics/mainline.git
  • Mercurial (HG) at codeplex: https://hg01.codeplex.com/mathnetnumerics
  • Subversion (SVN) at github: http://svn.github.com/mathnet/mathnet-numerics.git

Repository Maintainers

If there's a problem with one of the repositories please contact its maintainer directly.

Forking

Please fork directly from the master git repository at github using the github website. It simplifies our pull request workflow so we can integrate your changes back into mainline more easily. Have a look at the developers page for more details.

Downloading the Sourcecode

Instead of using a version control tool you can also download the whole sources packed in a zip archive:

Git Tips and Tricks

You'll find various git tutorials and open books at git-scm.com. When installing git on windows we recommend to use the default settings throughout the installer.

In order to keep your local clone and fork up to date with mainline, you should add it as a remote repository like this:

git remote add mathnet git://github.com/mathnet/mathnet-numerics.git

To download the whole content of the remote repository into your clone, you need to fetch it explicitly from time to time. Note that fetching only downloads all the objects and refs pointing to all the branch and tag objects into your clone but doesn't update, merge or rebase any of your branches.

git fetch mathnet

If your local branch tracks one of the remote branches, you may want to integrate all the remote changes into your local branch. If you didn't commit anything to the local branch yourself and your current HEAD hence is a parent of the remote branch, you can do a fast-forward merge. Fast-forward == good. Gitk will show this as a you local HEAD being below the remote branch head but connected by a line. Also, git status will tell you that your head is behind the remote by x commits and that fast forward is possible. To do the fast forward merge you can either use the git merge or the git rebase command. Both will work and have the same result, although git rebase will tell you at the end that there's "nothing to do" (because there were no changes on your side and therefore nothing to rebase).

git rebase mathnet/master
git merge mathnet/master