diff options
author | Herbert Valerio Riedel <hvr@gnu.org> | 2014-01-12 12:05:23 +0100 |
---|---|---|
committer | Herbert Valerio Riedel <hvr@gnu.org> | 2014-01-12 12:48:26 +0100 |
commit | 5f54d67818ee7a74325eed130438beba96510e43 (patch) | |
tree | e6f5f54f3af7359d83b04a351c3783f553d47c9a | |
parent | 66693401b98cb5aa912948af7bbd2182474f50c4 (diff) | |
download | haskell-5f54d67818ee7a74325eed130438beba96510e43.tar.gz |
Update `sync-all` and others files w.r.t. merged testsuite (re #8545)
See merge commit 66693401b98cb5aa912948af7bbd2182474f50c4
This commit also adds a check for a left-over testsuite/.git folder to sync-all
This way, the first time sync-all is called after updating to a
post-testsuite-merge (see #8545) state of ghc.git, the sync-all script
aborts with an error message if a `testsuite/.git` folder is detected and
thus forces the user to take action.
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
-rw-r--r-- | HACKING.md | 2 | ||||
-rw-r--r-- | packages | 7 | ||||
-rwxr-xr-x | sync-all | 24 | ||||
-rwxr-xr-x | validate | 3 |
4 files changed, 24 insertions, 12 deletions
diff --git a/HACKING.md b/HACKING.md index 7a4cc9329d..edd1d127f1 100644 --- a/HACKING.md +++ b/HACKING.md @@ -32,7 +32,7 @@ Next, clone the repository and all the associated libraries: ``` $ git clone http://git.haskell.org/ghc.git $ cd ghc -$ ./sync-all --testsuite get +$ ./sync-all get ``` First copy `mk/build.mk.sample` to `mk/build.mk` and ensure it has @@ -17,7 +17,7 @@ # - Haddock and hsc2hs are applications, built on top of GHC, # and in turn needed to bootstrap GHC # - ghc-tarballs is need to build GHC -# - nofib and testsuite are optional helpers +# - nofib is an optional helpers # # The format of the lines in this file is: # localpath tag remotepath upstreamurl @@ -31,8 +31,8 @@ # * The 'tag' determines when "sync-all get" will get the # repo. If the tag is "-" then it will always get it, but if there # is a tag then a corresponding flag must be given to "sync-all", e.g. -# if you want to get the packages with an "extralibs" or "testsuite" -# tag then you need to use "sync-all --extra --testsuite get". +# if you want to get the packages with an "extralibs" +# tag then you need to use "sync-all --extra get". # Support for new tags must be manually added to the "sync-all" script. # # 'tag' is also used to determine which packages the build system @@ -76,7 +76,6 @@ libraries/transformers - - http:// libraries/unix - packages/unix.git - libraries/Win32 - - https://github.com/haskell/win32.git libraries/xhtml - - https://github.com/haskell/xhtml.git -testsuite testsuite testsuite.git - nofib nofib nofib.git - libraries/parallel extra packages/parallel.git - libraries/stm extra packages/stm.git - @@ -639,9 +639,9 @@ get before "get" that enable extra repositories. The full list is given at the end of this help. For example: - ./sync-all --testsuite get + ./sync-all --nofib get - would get the testsuite repository in addition to the usual set of + would get the nofib repository in addition to the usual set of subrepositories. remote add <remote-name> @@ -726,8 +726,6 @@ Flags given *after* the command are passed to git. --nofib also clones the nofib benchmark suite - --testsuite also clones the ghc testsuite - --extra also clone some extra library packages --no-dph avoids cloning the dph packages @@ -867,7 +865,7 @@ sub main { if ($bare_flag && ! $bare_found && ! $defaultrepo) { die "error: bare repository ghc.git not found.\n" . " Either clone a bare ghc repo first or specify the repo location. E.g.:\n" - . " ./sync-all --bare [--testsuite --nofib --extra] -r http://git.haskell.org get\n" + . " ./sync-all --bare [--nofib --extra] -r http://git.haskell.org get\n" } elsif ($bare_found) { $bare_flag = "--bare"; @@ -935,6 +933,22 @@ BEGIN { checkCurrentBranchIsMaster(); } $initial_working_directory = getcwd(); + + #message "== Checking for left-over testsuite/.git folder"; + if (-d "testsuite/.git") { + print <<EOF; +============================ +ATTENTION! + +You have a left-over testsuite/.git folder in your GHC tree! + +Please backup or remove it (e.g. "rm -r testsuite/.git") before +proceeding as the testsuite Git repository is now tracked as part of +the ghc Git repository (see #8545 for more details) +============================ +EOF + die "detected obsolete testsuite/.git folder" + } } END { @@ -89,8 +89,7 @@ check_packages () { if ! [ -d testsuite ] then - echo 'You need the testsuite to validate' >&2 - echo 'Run "./sync-all --testsuite get" to get it' >&2 + echo 'Could not find the testsuite for validation' >&2 exit 1 fi |