git clone --recursive git://git.haskell.org/ghc.git
cd ghc
git clone git://git.haskell.org/ghc-tarballs.git # Windows only
git pull --rebasegit submodule update --init
Please speak up if you want those 1000 lines of buggy Perl a.k.a. sync-all to stay for some reason, or if you have questions about a certain git submodules workflow.
The source code (./boot no longer suggests it) and the wiki are already sync-all free, except for a few historical pages.
Discussion period: 1 month.
Thomas