checkout Solaris and reduce it to all ZFS relevant commits
Objective-C Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
fast-export @ 1464dab


This project extracts the relevant parts of OpenSolaris useful for porting ZFS.



You should have git, mercurial and the mercurial convert extension before proceeding. If you use mac ports read the Mac Ports Caveats section

First-time Initialization

First, make sure you've got the hg fast-export submodules:

git submodule init
git submodule update

in ~/.hgrc add:


Cloning OpenSolaris

Get a local clone of OpenSolaris using the clone-repo command. clone-repo optionally takes a location of the source in case you already have a local copy you wish to use.

The duration of this step will vary based on your bandwidth. Budget for however long it takes you to pull down about 350MB of data.

Converting the Repo

Converting the repository is a two step process. First, we build a new mercurial repository from the important parts of the old one, and then convert that repository to a git repo.

The reason we do this in two steps is because mercurial has a repo rewriting tool to pull out the parts we want, which also makes the git conversion faster.

However, it's just one step for you, the end user:


This should leave you with a repository called zfs-converted-git that has all of the stuff you need and nothing you don't.

This step takes about an hour on my macbook pro.

Mac Ports Caveat

If you installed Mercurial with Mac Ports you will have to change the following:

in fast-export/ the first line to:

#!/usr/bin/env /opt/local/bin/python