|Version 1 (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.
Warning for Windows users: see #3899. The bottom line is this
- Make sure that $(TOP)/_darcs/prefs/defaultrepos contains an HTTP url like http://darcs/haskell.org/ghc.git, not a SSH address like darcs.haskell.org:/home/darcs/ghc.git.
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.