Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.
This repository is a mirror of the C++ linear algebra library Eigen.
Because Eigen is hosted on BitBucket in a Mercurial repository, you will need a way to convert between mercurial and git. We use git-remote-hg for this purpose.
https://github.com/felipec/git-remote-hg
Check out this repository.
git clone https://fuchsia.googlesource.com/third_party/eigen
cd eigen
Add a remote pointing to the mercurial bucket on bitbucket.
git remote add bitbucket hg::https://bitbucket.org/eigen/eigen
git fetch bitbucket
Now, we need to update the branches we care about. As of the writing of this document, we only care about upstream/master (the Eigen tip of tree) and upstream/3.3 (the 3.3.x line of stable releases).
Track the branch on fuchsia.googlesource.com.
git checkout --track origin/upstream/master
Fetch the changes from bitbucket.org and upload.
git pull bitbucket master
git push origin upstream/master
Repeat the process for the other branches we care about.
As you noticed, the master branch on fuchsia.googlesource.com is not the same as the master branch on bitbucket. That's because our master branch is kept at a stable release.
To see if you need to update the master branch, see if a new stable version is available.
git log -1
Look for “tag: 3.3.4” or similar on the first line. This is version at which fuchsia is building eigen.
git ls-remote bitbucket
And see if there is a tag for the new version.
If there is, check it out on the master branch.
git checkout master
git reset --hard 3.3.5
And push to fuchsia.
git push origin 3.3.5
git push origin master