2011-04-27 10:34:00 +00:00
|
|
|
#!/usr/bin/perl -w
|
|
|
|
#############################################################################
|
|
|
|
##
|
|
|
|
## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
|
|
## All rights reserved.
|
|
|
|
## Contact: Nokia Corporation (qt-info@nokia.com)
|
|
|
|
##
|
|
|
|
## This file is part of the utilities of the Qt Toolkit.
|
|
|
|
##
|
|
|
|
## $QT_BEGIN_LICENSE:LGPL$
|
|
|
|
## No Commercial Usage
|
|
|
|
## This file contains pre-release code and may not be distributed.
|
|
|
|
## You may use this file in accordance with the terms and conditions
|
|
|
|
## contained in the Technology Preview License Agreement accompanying
|
|
|
|
## this package.
|
|
|
|
##
|
|
|
|
## GNU Lesser General Public License Usage
|
|
|
|
## Alternatively, this file may be used under the terms of the GNU Lesser
|
|
|
|
## General Public License version 2.1 as published by the Free Software
|
|
|
|
## Foundation and appearing in the file LICENSE.LGPL included in the
|
|
|
|
## packaging of this file. Please review the following information to
|
|
|
|
## ensure the GNU Lesser General Public License version 2.1 requirements
|
|
|
|
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
|
|
##
|
|
|
|
## In addition, as a special exception, Nokia gives you certain additional
|
|
|
|
## rights. These rights are described in the Nokia Qt LGPL Exception
|
|
|
|
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
|
|
##
|
|
|
|
## If you have questions regarding the use of this file, please contact
|
|
|
|
## Nokia at qt-info@nokia.com.
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
##
|
|
|
|
## $QT_END_LICENSE$
|
|
|
|
##
|
|
|
|
#############################################################################
|
|
|
|
|
|
|
|
my $force = 0;
|
|
|
|
my $quiet = 0;
|
|
|
|
my $nokia_developer = 0;
|
|
|
|
|
|
|
|
sub system_v
|
|
|
|
{
|
|
|
|
if (!$quiet) {
|
|
|
|
print "+ ";
|
|
|
|
print @_;
|
|
|
|
print "\n";
|
|
|
|
}
|
|
|
|
return system(@_);
|
|
|
|
}
|
|
|
|
|
|
|
|
sub printUsage
|
|
|
|
{
|
|
|
|
print("$0 <options>\n");
|
|
|
|
print("-f\tForce initialization\n");
|
|
|
|
print("-q\tQuiet operation. Will exit cleanly if repository is already\n");
|
|
|
|
print("\tinitialized\n");
|
|
|
|
print("-nokia-developer Switch to internal Nokia URLs.\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
while (@ARGV) {
|
|
|
|
my $arg = $ARGV[0];
|
|
|
|
if ($arg eq "-f") {
|
|
|
|
$force = 1;
|
|
|
|
} elsif ($arg eq "-q") {
|
|
|
|
$quiet = 1;
|
|
|
|
} elsif ($arg eq "-nokia-developer") {
|
|
|
|
$nokia_developer = 1;
|
|
|
|
} elsif ($arg eq "-h" || $arg eq "--help") {
|
|
|
|
printUsage();
|
|
|
|
exit 0;
|
|
|
|
} else {
|
|
|
|
die("Illegal argument: $arg");
|
|
|
|
}
|
|
|
|
shift;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (`git config --get submodule.qtbase.url`) {
|
|
|
|
if ($force) {
|
|
|
|
my @configresult = `git config -l`;
|
|
|
|
foreach (@configresult) {
|
|
|
|
if (/(submodule\.[^.=]+\.url)=.*/) {
|
|
|
|
system_v("git config --unset $1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
exit 0 if ($quiet);
|
|
|
|
print("Will not reinitialize already initialized repository (use -f to force)!\n");
|
|
|
|
exit 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
my $init_args = "";
|
|
|
|
$init_args = "-q" if ($quiet);
|
|
|
|
system_v("git submodule init $init_args");
|
|
|
|
|
|
|
|
if ($nokia_developer) {
|
|
|
|
my @configresult = `git config -l`;
|
|
|
|
foreach (@configresult) {
|
|
|
|
if (/(submodule\.[^.=]+\.url)=(.*)/) {
|
|
|
|
my $key = $1;
|
|
|
|
my $value = $2;
|
|
|
|
if ($key eq "submodule.qtwebkit.url") {
|
2011-04-26 15:41:56 +00:00
|
|
|
# WebKit is special, and has only external link.
|
2011-04-27 10:34:00 +00:00
|
|
|
$value =~ s,^git://gitorious\.org/,git\@gitorious.org:,;
|
|
|
|
} else {
|
2011-04-26 16:00:16 +00:00
|
|
|
# qt-labs projects are still hosted under qt internally.
|
|
|
|
$value =~ s,^git://gitorious\.org/qt-labs/,git\@scm.dev.nokia.troll.no:qt/,;
|
2011-04-27 10:34:00 +00:00
|
|
|
$value =~ s,^git://gitorious\.org/,git\@scm.dev.nokia.troll.no:,;
|
|
|
|
}
|
|
|
|
system_v("git config \"$key\" \"$value\"");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
system_v("git submodule update");
|