[commit: ghc] master: Update `sync-all` and others files w.r.t. merged testsuite (re #8545) (5f54d67)

git at git.haskell.org git at git.haskell.org
Sun Jan 12 12:04:31 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/5f54d67818ee7a74325eed130438beba96510e43/ghc

>---------------------------------------------------------------

commit 5f54d67818ee7a74325eed130438beba96510e43
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date:   Sun Jan 12 12:05:23 2014 +0100

    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 at gnu.org>


>---------------------------------------------------------------

5f54d67818ee7a74325eed130438beba96510e43
 HACKING.md |    2 +-
 packages   |    7 +++----
 sync-all   |   24 +++++++++++++++++++-----
 validate   |    3 +--
 4 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/HACKING.md b/HACKING.md
index 7a4cc93..edd1d12 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 ec77afc..616dfc1 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 38a840d..f88ad2b 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 eafbdb9..889c0e8 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
 



More information about the ghc-commits mailing list