Prepare init-repository script for moving v8 submodule master_201108241759
authorKent Hansen <kent.hansen@nokia.com>
Mon, 22 Aug 2011 09:51:22 +0000 (11:51 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 24 Aug 2011 07:50:58 +0000 (09:50 +0200)
Transitional step needed while v8 is moved from qtdeclarative
to qtbase.
Before the transition is completely in place, init-repository
must be able to cope with both qtbase and qtdeclarative having
a v8 submodule.
This change causes git submodule init/update to be called for
both repositories, even though one of them doesn't have any
submodules. But in that case it's a no-op.

Change-Id: Ia1af01308c808e62eb85431764edd8c12bdc3325
Reviewed-on: http://codereview.qt.nokia.com/3303
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
init-repository

index e4555da..4192929 100755 (executable)
@@ -629,7 +629,7 @@ sub git_clone_one_submodule
         unlink($alternates_path) || confess "unlink $alternates_path: $OS_ERROR";
     }
 
-    if ($submodule eq "qtdeclarative") { #Extra step needed to setup declarative 
+    if ($submodule eq "qtbase" || $submodule eq "qtdeclarative") { #Extra steps needed to setup base and declarative
         $self->exe('git', 'submodule', 'init'); 
         if ($mirror_v8_url || $protocol eq 'http') {
             my @configresult = qx(git config -l);
@@ -640,23 +640,25 @@ sub git_clone_one_submodule
                 $v8url = $1;
             }
 
-            if ($protocol eq 'http') {
-                # rewrite the git:// url to https://
-                if ($v8url =~ s{^git://github}{https://github}) {
-                    $self->exe('git', 'config', 'submodule.src/3rdparty/v8.url', $v8url);
+            if ($v8url) {
+                if ($protocol eq 'http') {
+                    # rewrite the git:// url to https://
+                    if ($v8url =~ s{^git://github}{https://github}) {
+                        $self->exe('git', 'config', 'submodule.src/3rdparty/v8.url', $v8url);
+                    }
+                    else {
+                        warn 'You requested git over http, but I could not figure out how to '
+                            ."rewrite v8's giturl of $v8url";
+                    }
                 }
-                else {
-                    warn 'You requested git over http, but I could not figure out how to '
-                        ."rewrite v8's giturl of $v8url";
-                }
-            }
 
-            if ($mirror_v8_url && $do_clone) {
-                chdir('src/3rdparty/') or confess "chdir $submodule/src/3rdparty: $OS_ERROR";
-                $self->exe('git', 'clone', $mirror_v8_url, 'v8');
-                chdir('v8') or confess "chdir $submodule/src/3rdparty/v8: $OS_ERROR";
-                $self->exe('git', 'config', 'remote.origin.url', $v8url);
-                chdir('../../..') or confess "cd ../../..: $OS_ERROR";
+                if ($mirror_v8_url && $do_clone) {
+                    chdir('src/3rdparty/') or confess "chdir $submodule/src/3rdparty: $OS_ERROR";
+                    $self->exe('git', 'clone', $mirror_v8_url, 'v8');
+                    chdir('v8') or confess "chdir $submodule/src/3rdparty/v8: $OS_ERROR";
+                    $self->exe('git', 'config', 'remote.origin.url', $v8url);
+                    chdir('../../..') or confess "cd ../../..: $OS_ERROR";
+                }
             }
         }
         $self->exe('git', 'submodule', 'update');