summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Valerio Riedel <hvr@gnu.org>2014-01-12 12:05:23 +0100
committerHerbert Valerio Riedel <hvr@gnu.org>2014-01-12 12:48:26 +0100
commit5f54d67818ee7a74325eed130438beba96510e43 (patch)
treee6f5f54f3af7359d83b04a351c3783f553d47c9a
parent66693401b98cb5aa912948af7bbd2182474f50c4 (diff)
downloadhaskell-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.md2
-rw-r--r--packages7
-rwxr-xr-xsync-all24
-rwxr-xr-xvalidate3
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
diff --git a/packages b/packages
index ec77afc6e2..616dfc1d89 100644
--- a/packages
+++ b/packages
@@ -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 -
diff --git a/sync-all b/sync-all
index 38a840d533..f88ad2b85b 100755
--- a/sync-all
+++ b/sync-all
@@ -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 {
diff --git a/validate b/validate
index eafbdb9b71..889c0e83a9 100755
--- a/validate
+++ b/validate
@@ -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