diff options
author | Qt by Nokia <qt-info@nokia.com> | 2011-04-27 12:34:00 +0200 |
---|---|---|
committer | axis <qt-info@nokia.com> | 2011-04-27 12:34:00 +0200 |
commit | 92351a70e0b9193a1def156a470d9156beb8528b (patch) | |
tree | bbd040ad01c7a01d13939f45ad68c7d84d21b955 /init-repository |
Long live the qt5 Qt repository
Diffstat (limited to 'init-repository')
-rwxr-xr-x | init-repository | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/init-repository b/init-repository new file mode 100755 index 00000000..ac3a7a26 --- /dev/null +++ b/init-repository @@ -0,0 +1,119 @@ +#!/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; + # WebKit is special, and has only external link. + if ($key eq "submodule.qtwebkit.url") { + $value =~ s,^git://gitorious\.org/,git\@gitorious.org:,; + } else { + $value =~ s,^git://gitorious\.org/,git\@scm.dev.nokia.troll.no:,; + } + system_v("git config \"$key\" \"$value\""); + } + } +} + +system_v("git submodule update"); |