wiki:Building/SyncAll

Version 2 (modified by igloo, 3 years ago) (diff)

--

sync-all: operations over all GHC repositories at once

A GHC tree consists of multiple repositories. The sync-all Perl script lets you operate over them all at once.

The basic interface to sync-all is described in comments at the top of the source file.

Pulling new patches

If you have an existing tree, here is how to pull new patches into all repositories.

  $ ./sync-all pull
  $ ./sync-all get

The second step is required in the event that new packages or repositories have been added to GHC.

See Building/Rebuilding for how to update your build after pulling patches.

You can also pull patches from another tree:

  $ ./sync-all -r /another/ghc pull

where /another/ghc is a path to another local GHC repository. You can specify a remote repository here too, e.g. -r http://darcs.haskell.org/ghc-7.2 (remember to omit the final "ghc.git" when using a remote repo).

The sync-all command is useful for finding out what patches you have relative to another repository:

  $ ./sync-all -r /another/ghc push --dry-run

this tells you which patches there are in your local repository tree relative to the tree over in /another/ghc.