mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-08 16:06:55 +08:00
Compare commits
63 Commits
v5.6.0-bet
...
v5.7.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9752d68ed | ||
|
|
e23b244494 | ||
|
|
273e5b82cf | ||
|
|
7251401281 | ||
|
|
5758a88e59 | ||
|
|
e80d89059c | ||
|
|
a550ad21bf | ||
|
|
c80e96bb09 | ||
|
|
f05fece2f7 | ||
|
|
d9beab9abd | ||
|
|
20dcf55e7d | ||
|
|
84a1676ed6 | ||
|
|
5e15831271 | ||
|
|
53b920dc69 | ||
|
|
d74af1270a | ||
|
|
534d63e652 | ||
|
|
e6076450e1 | ||
|
|
e785abbec1 | ||
|
|
211080722e | ||
|
|
30236c3f15 | ||
|
|
18e84e7c06 | ||
|
|
d4bb786963 | ||
|
|
fb1345171a | ||
|
|
fdf1b3cc8d | ||
|
|
c2549708e5 | ||
|
|
6bdec75429 | ||
|
|
6efabf6dfe | ||
|
|
3fa8726fa7 | ||
|
|
81523d838c | ||
|
|
7a8c874231 | ||
|
|
e52c7efa4c | ||
|
|
c6d04d68bd | ||
|
|
4007fc7a26 | ||
|
|
37c75a23e8 | ||
|
|
3cfe8712ae | ||
|
|
b680c074d1 | ||
|
|
d1d52b5c1e | ||
|
|
3de19487d9 | ||
|
|
2c53e3d08c | ||
|
|
f5ba19c3f0 | ||
|
|
b93073ecc9 | ||
|
|
1fcdb6cafc | ||
|
|
d758a3b055 | ||
|
|
273821d69c | ||
|
|
06c3d40cc9 | ||
|
|
f47e82703c | ||
|
|
bb9eebce48 | ||
|
|
0e2ec253d8 | ||
|
|
63d305bb7d | ||
|
|
bcebc106f1 | ||
|
|
2e134da46c | ||
|
|
c3e404fffd | ||
|
|
43135d6e33 | ||
|
|
cda5de797b | ||
|
|
d2b26ede9c | ||
|
|
90b08b1c6d | ||
|
|
2051c2987e | ||
|
|
f8ae5ee3b6 | ||
|
|
c485f3e4a7 | ||
|
|
7b30d85bdc | ||
|
|
e4ff528bb6 | ||
|
|
a2a6cf11a7 | ||
|
|
2068af50ca |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,7 +1,6 @@
|
||||
.tag export-subst
|
||||
.gitignore export-ignore
|
||||
.gitattributes export-ignore
|
||||
.gitmodules export-ignore
|
||||
.commit-template export-ignore
|
||||
init-repository export-ignore
|
||||
README.git export-ignore
|
||||
|
||||
254
.gitmodules
vendored
254
.gitmodules
vendored
@@ -1,196 +1,312 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtscript"]
|
||||
depends = qtbase
|
||||
recommends = qttools
|
||||
path = qtscript
|
||||
url = ../qtscript.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = deprecated
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt qtwebkit
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
[submodule "qtxmlpatterns"]
|
||||
depends = qtbase
|
||||
path = qtxmlpatterns
|
||||
url = ../qtxmlpatterns.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qttranslations"]
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
priority = 30
|
||||
[submodule "qtdoc"]
|
||||
depends = qtdeclarative
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
priority = 40
|
||||
[submodule "qtrepotools"]
|
||||
path = qtrepotools
|
||||
url = ../qtrepotools.git
|
||||
branch = master
|
||||
initrepo = true
|
||||
status = essential
|
||||
qt = false
|
||||
[submodule "qtwebkit"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
|
||||
path = qtwebkit
|
||||
url = ../qtwebkit.git
|
||||
branch = 5.6
|
||||
branch = 5.7
|
||||
status = obsolete
|
||||
project = WebKit.pro
|
||||
priority = 20
|
||||
[submodule "qtwebkit-examples"]
|
||||
depends = qtwebkit qttools
|
||||
path = qtwebkit-examples
|
||||
url = ../qtwebkit-examples.git
|
||||
branch = 5.6
|
||||
branch = 5.7
|
||||
status = obsolete
|
||||
[submodule "qtqa"]
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = master
|
||||
initrepo = true
|
||||
status = essential
|
||||
priority = 50
|
||||
[submodule "qtlocation"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtquickcontrols qtserialport qtsystems
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtsystems"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsystems
|
||||
url = ../qtsystems.git
|
||||
branch = dev
|
||||
branch = 5.7
|
||||
status = ignore
|
||||
[submodule "qtfeedback"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtmultimedia
|
||||
path = qtfeedback
|
||||
url = ../qtfeedback.git
|
||||
branch = master
|
||||
status = ignore
|
||||
[submodule "qtdocgallery"]
|
||||
depends = qtdeclarative
|
||||
path = qtdocgallery
|
||||
url = ../qtdocgallery.git
|
||||
branch = master
|
||||
status = ignore
|
||||
[submodule "qtpim"]
|
||||
depends = qtdeclarative
|
||||
path = qtpim
|
||||
url = ../qtpim.git
|
||||
branch = dev
|
||||
branch = 5.7
|
||||
status = ignore
|
||||
[submodule "qtconnectivity"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtandroidextras
|
||||
path = qtconnectivity
|
||||
url = ../qtconnectivity.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qt3d"]
|
||||
depends = qtdeclarative qtimageformats
|
||||
recommends = qtgamepad
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtquick1"]
|
||||
depends = qtscript
|
||||
recommends = qtsvg qtxmlpatterns
|
||||
path = qtquick1
|
||||
url = ../qtquick1.git
|
||||
branch = 5.6
|
||||
branch = 5.7
|
||||
status = obsolete
|
||||
[submodule "qtgraphicaleffects"]
|
||||
depends = qtdeclarative
|
||||
path = qtgraphicaleffects
|
||||
url = ../qtgraphicaleffects.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtquickcontrols"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtgraphicaleffects
|
||||
path = qtquickcontrols
|
||||
url = ../qtquickcontrols.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = essential
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = 5.6
|
||||
branch = 5.7
|
||||
status = preview
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtx11extras"]
|
||||
depends = qtbase
|
||||
path = qtx11extras
|
||||
url = ../qtx11extras.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtmacextras"]
|
||||
depends = qtbase
|
||||
path = qtmacextras
|
||||
url = ../qtmacextras.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtwinextras"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtwinextras
|
||||
url = ../qtwinextras.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtandroidextras"]
|
||||
depends = qtbase
|
||||
path = qtandroidextras
|
||||
url = ../qtandroidextras.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtenginio"]
|
||||
depends = qtdeclarative
|
||||
path = qtenginio
|
||||
url = ../qtenginio.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = obsolete
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtwebengine"]
|
||||
depends = qtquickcontrols qtwebchannel
|
||||
recommends = qtlocation
|
||||
path = qtwebengine
|
||||
url = ../qtwebengine.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
priority = 10
|
||||
[submodule "qtcanvas3d"]
|
||||
depends = qtdeclarative
|
||||
path = qtcanvas3d
|
||||
url = ../qtcanvas3d.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtwebview"]
|
||||
depends = qtdeclarative
|
||||
recommends = qtwebengine
|
||||
path = qtwebview
|
||||
url = ../qtwebview.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtquickcontrols2"]
|
||||
depends = qtgraphicaleffects
|
||||
path = qtquickcontrols2
|
||||
url = ../qtquickcontrols2.git
|
||||
branch = 5.6
|
||||
initrepo = true
|
||||
branch = 5.7
|
||||
status = preview
|
||||
[submodule "qtpurchasing"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtpurchasing
|
||||
url = ../qtpurchasing.git
|
||||
branch = 5.6
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtcharts"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtcharts
|
||||
url = ../qtcharts.git
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtdatavis3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtdatavis3d
|
||||
url = ../qtdatavis3d.git
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtvirtualkeyboard"]
|
||||
depends = qtbase qtdeclarative qtsvg
|
||||
recommends = qtmultimedia qtquickcontrols
|
||||
path = qtvirtualkeyboard
|
||||
url = ../qtvirtualkeyboard.git
|
||||
branch = 5.7
|
||||
status = addon
|
||||
[submodule "qtgamepad"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtgamepad
|
||||
url = ../qtgamepad
|
||||
branch = 5.7
|
||||
status = preview
|
||||
[submodule "qtscxml"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtscxml
|
||||
url = ../qtscxml
|
||||
branch = 5.7
|
||||
status = preview
|
||||
[submodule "qtspeech"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtspeech
|
||||
url = ../qtspeech
|
||||
branch = dev
|
||||
status = ignore
|
||||
|
||||
299
init-repository
299
init-repository
@@ -39,150 +39,128 @@ use warnings;
|
||||
package Qt::InitRepository;
|
||||
|
||||
|
||||
=head1 NAME
|
||||
sub printUsage($)
|
||||
{
|
||||
my ($ex) = @_;
|
||||
|
||||
init-repository - initialize the Qt5 repository and all submodules
|
||||
print <<EOF ;
|
||||
Usage:
|
||||
./init-repository [options]
|
||||
|
||||
=head1 SYNOPSIS
|
||||
This script may be run after an initial `git clone' of Qt5 in order to
|
||||
check out all submodules. It fetches them from canonical URLs inferred
|
||||
from the clone's origin.
|
||||
|
||||
./init-repository [options]
|
||||
Options:
|
||||
Global options:
|
||||
|
||||
This script may be run after an initial `git clone' of Qt5 in order to check
|
||||
out all submodules. It fetches them from canonical URLs inferred from the
|
||||
clone's origin.
|
||||
--force, -f
|
||||
Force initialization (even if the submodules are already checked
|
||||
out).
|
||||
|
||||
--force-hooks
|
||||
Force initialization of hooks (even if there are already hooks in
|
||||
checked out submodules).
|
||||
|
||||
=head1 OPTIONS
|
||||
--quiet, -q
|
||||
Be quiet. Will exit cleanly if the repository is already
|
||||
initialized.
|
||||
|
||||
B<Global options:>
|
||||
Module options:
|
||||
|
||||
=over
|
||||
--module-subset=<module1>,<module2>...
|
||||
Only initialize the specified subset of modules given as the
|
||||
argument. Specified modules must already exist in .gitmodules. The
|
||||
string "all" results in cloning all known modules. The strings
|
||||
"essential", "addon", "preview", "deprecated", "obsolete", and
|
||||
"ignore" refer to classes of modules; "default" maps to
|
||||
"essential,addon,preview,deprecated", which corresponds with the
|
||||
set of maintained modules and is also the default set. Module
|
||||
names may be prefixed with a dash to exclude them from a bigger
|
||||
set, e.g. "all,-ignore".
|
||||
|
||||
=item --force, -f
|
||||
--no-update
|
||||
Skip the `git submodule update' command.
|
||||
|
||||
Force initialization (even if the submodules are already checked out).
|
||||
--branch
|
||||
Instead of checking out specific SHA1s, check out the submodule
|
||||
branches that correspond with the current supermodule commit. By
|
||||
default, this option will cause local commits in the submodules to
|
||||
be rebased. With --no-update, the branches will be checked out, but
|
||||
their heads will not move.
|
||||
|
||||
--ignore-submodules
|
||||
Set git config to ignore submodules by default when doing operations
|
||||
on the qt5 repo, such as `pull', `fetch', `diff' etc.
|
||||
|
||||
=item --force-hooks
|
||||
After using this option, pass `--ignore-submodules=none' to git to
|
||||
override it as needed.
|
||||
|
||||
Force initialization of hooks (even if there are already hooks in checked out
|
||||
submodules).
|
||||
Repository options:
|
||||
|
||||
--berlin
|
||||
Switch to internal URLs and make use of the Berlin git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
=item --quiet, -q
|
||||
--oslo
|
||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
Be quiet. Will exit cleanly if the repository is already initialized.
|
||||
--codereview-username <Gerrit/JIRA username>
|
||||
Specify the user name for the (potentially) writable `gerrit' remote
|
||||
for each module, for use with the Gerrit code review tool.
|
||||
|
||||
=back
|
||||
If this option is omitted, the gerrit remote is created without a
|
||||
username and port number, and thus relies on a correct SSH
|
||||
configuration.
|
||||
|
||||
--alternates <path to other Qt5 repo>
|
||||
Adds alternates for each submodule to another full qt5 checkout.
|
||||
This makes this qt5 checkout very small, as it will use the object
|
||||
store of the alternates before unique objects are stored in its own
|
||||
object store.
|
||||
|
||||
B<Module options:>
|
||||
This option has no effect when using `--no-update'.
|
||||
|
||||
=over
|
||||
NOTE: This will make this repo dependent on the alternate, which is
|
||||
potentially dangerous! The dependency can be broken by also using
|
||||
the `--copy-objects' option, or by running "git repack -a" in each
|
||||
submodule, where required. Please read the note about the `--shared'
|
||||
option in the documentation of `git clone' for more information.
|
||||
|
||||
=item --module-subset=<module1>,<module2>...
|
||||
--copy-objects
|
||||
When `--alternates' is used, automatically do a "git repack -a" in
|
||||
each submodule after cloning, to ensure that the repositories are
|
||||
independent from the source used as a reference for cloning.
|
||||
|
||||
Only initialize the specified subset of modules given as the argument. Specified
|
||||
modules must already exist in .gitmodules.
|
||||
The string "all" results in cloning all known modules. The default is the set of
|
||||
maintained modules.
|
||||
Module names may be prefixed with a dash to exclude them from a bigger set.
|
||||
Note that this negates the disk usage benefits gained from the use
|
||||
of `--alternates'.
|
||||
|
||||
=item --no-update
|
||||
--mirror <url-base>
|
||||
Uses <url-base> as the base URL for submodule git mirrors.
|
||||
|
||||
Skip the `git submodule update' command.
|
||||
For example:
|
||||
|
||||
=item --branch
|
||||
--mirror user\@machine:/foo/bar/
|
||||
|
||||
Instead of checking out specific SHA1s, check out the submodule branches that
|
||||
correspond with the current supermodule commit.
|
||||
By default, this option will cause local commits in the submodules to be rebased.
|
||||
With --no-update, the branches will be checked out, but their heads will not move.
|
||||
...will use the following as a mirror for qtbase:
|
||||
|
||||
=item --ignore-submodules
|
||||
user\@machine:/foo/bar/qt/qtbase.git
|
||||
|
||||
Set git config to ignore submodules by default when doing operations on the
|
||||
qt5 repo, such as `pull', `fetch', `diff' etc.
|
||||
The mirror is permitted to contain a subset of the submodules; any
|
||||
missing modules will fall back to the canonical URLs.
|
||||
|
||||
After using this option, pass `--ignore-submodules=none' to git to override
|
||||
it as needed.
|
||||
|
||||
=back
|
||||
|
||||
|
||||
B<Repository options:>
|
||||
|
||||
=over
|
||||
|
||||
=item --berlin
|
||||
|
||||
Switch to internal URLs and make use of the Berlin git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
=item --oslo
|
||||
|
||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
||||
(Implies `--mirror').
|
||||
|
||||
|
||||
=item --codereview-username <Gerrit/JIRA username>
|
||||
|
||||
Specify the user name for the (potentially) writable `gerrit' remote
|
||||
for each module, for use with the Gerrit code review tool.
|
||||
|
||||
If this option is omitted, the gerrit remote is created without a username
|
||||
and port number, and thus relies on a correct SSH configuration.
|
||||
|
||||
|
||||
=item --alternates <path to other Qt5 repo>
|
||||
|
||||
Adds alternates for each submodule to another full qt5 checkout. This makes
|
||||
this qt5 checkout very small, as it will use the object store of the
|
||||
alternates before unique objects are stored in its own object store.
|
||||
|
||||
This option has no effect when using `--no-update'.
|
||||
|
||||
B<NOTE:> This will make this repo dependent on the alternate, which is
|
||||
potentially dangerous! The dependency can be broken by also using
|
||||
the `--copy-objects' option, or by running C<git repack -a> in each
|
||||
submodule, where required. Please read the note about the `--shared' option
|
||||
in the documentation of `git clone' for more information.
|
||||
|
||||
|
||||
=item --copy-objects
|
||||
|
||||
When `--alternates' is used, automatically do a C<git repack -a> in each
|
||||
submodule after cloning, to ensure that the repositories are independent
|
||||
from the source used as a reference for cloning.
|
||||
|
||||
Note that this negates the disk usage benefits gained from the use of
|
||||
`--alternates'.
|
||||
|
||||
|
||||
=item --mirror <url-base>
|
||||
|
||||
Uses <url-base> as the base URL for submodule git mirrors.
|
||||
|
||||
For example:
|
||||
|
||||
--mirror user@machine:/foo/bar/
|
||||
|
||||
...will use the following as a mirror for qtbase:
|
||||
|
||||
user@machine:/foo/bar/qt/qtbase.git
|
||||
|
||||
The mirror is permitted to contain a subset of the submodules; any
|
||||
missing modules will fall back to the canonical URLs.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
EOF
|
||||
exit($ex);
|
||||
}
|
||||
|
||||
use Carp qw( confess );
|
||||
use English qw( -no_match_vars );
|
||||
use Getopt::Long qw( GetOptionsFromArray );
|
||||
use Pod::Usage qw( pod2usage );
|
||||
use Cwd qw( getcwd );
|
||||
use Getopt::Long qw( GetOptions );
|
||||
use Cwd qw( getcwd abs_path );
|
||||
|
||||
my $script_path = abs_path($0);
|
||||
$script_path =~ s,[/\\][^/\\]+$,,;
|
||||
|
||||
my $GERRIT_SSH_BASE
|
||||
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
|
||||
@@ -222,7 +200,7 @@ sub exe
|
||||
|
||||
sub parse_arguments
|
||||
{
|
||||
my ($self, @args) = @_;
|
||||
my ($self) = @_;
|
||||
|
||||
%{$self} = (%{$self},
|
||||
'alternates' => "",
|
||||
@@ -237,7 +215,7 @@ sub parse_arguments
|
||||
'module-subset' => "default",
|
||||
);
|
||||
|
||||
GetOptionsFromArray(\@args,
|
||||
GetOptions(
|
||||
'alternates=s' => \$self->{qw{ alternates }},
|
||||
'branch' => \$self->{qw{ branch }},
|
||||
'codereview-username=s' => \$self->{qw{ codereview-username }},
|
||||
@@ -250,7 +228,7 @@ sub parse_arguments
|
||||
'update!' => \$self->{qw{ update }},
|
||||
'module-subset=s' => \$self->{qw{ module-subset }},
|
||||
|
||||
'help|?' => sub { pod2usage(1); },
|
||||
'help|?' => sub { printUsage(1); },
|
||||
|
||||
'berlin' => sub {
|
||||
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
||||
@@ -258,11 +236,12 @@ sub parse_arguments
|
||||
'oslo' => sub {
|
||||
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
|
||||
},
|
||||
) || pod2usage(2);
|
||||
) || printUsage(2);
|
||||
|
||||
# Replace any double trailing slashes from end of mirror
|
||||
$self->{'mirror-url'} =~ s{//+$}{/};
|
||||
|
||||
$self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
|
||||
$self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
|
||||
|
||||
return;
|
||||
@@ -301,6 +280,14 @@ sub git_submodule_init
|
||||
return;
|
||||
}
|
||||
|
||||
use constant {
|
||||
STS_PREVIEW => 1,
|
||||
STS_ESSENTIAL => 2,
|
||||
STS_ADDON => 3,
|
||||
STS_DEPRECATED => 4,
|
||||
STS_OBSOLETE => 5
|
||||
};
|
||||
|
||||
sub git_clone_all_submodules
|
||||
{
|
||||
my ($self, $my_repo_base, $co_branch, @subset) = @_;
|
||||
@@ -325,8 +312,22 @@ sub git_clone_all_submodules
|
||||
$subbases{$mod} = $base;
|
||||
} elsif ($2 eq "update") {
|
||||
push @subset, '-'.$1 if ($3 eq 'none');
|
||||
} elsif ($2 eq "initrepo") {
|
||||
$subinits{$1} = ($3 eq "yes" or $3 eq "true");
|
||||
} elsif ($2 eq "status") {
|
||||
if ($3 eq "preview") {
|
||||
$subinits{$1} = STS_PREVIEW;
|
||||
} elsif ($3 eq "essential") {
|
||||
$subinits{$1} = STS_ESSENTIAL;
|
||||
} elsif ($3 eq "addon") {
|
||||
$subinits{$1} = STS_ADDON;
|
||||
} elsif ($3 eq "deprecated") {
|
||||
$subinits{$1} = STS_DEPRECATED;
|
||||
} elsif ($3 eq "obsolete") {
|
||||
$subinits{$1} = STS_OBSOLETE;
|
||||
} elsif ($3 eq "ignore") {
|
||||
delete $subinits{$1};
|
||||
} else {
|
||||
die("Invalid subrepo status '$3' for '$1'.\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,11 +335,23 @@ sub git_clone_all_submodules
|
||||
foreach my $mod (@subset) {
|
||||
if ($mod eq "all") {
|
||||
map { $include{$_} = 1; } keys %subbases;
|
||||
} elsif ($mod eq "default") {
|
||||
map { $include{$_} = 1; } grep { $subinits{$_} } keys %subbases;
|
||||
} elsif ($mod eq "essential") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
|
||||
} elsif ($mod eq "addon") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
|
||||
} elsif ($mod eq "preview") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
|
||||
} elsif ($mod eq "deprecated") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
|
||||
} elsif ($mod eq "obsolete") {
|
||||
map { $include{$_} = 1; } grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
|
||||
} elsif ($mod =~ s/^-//) {
|
||||
print "Warning: excluding non-existent module '$mod'.\n"
|
||||
if (!defined($subdirs{$mod}));
|
||||
delete $include{$mod};
|
||||
} else {
|
||||
die("Error: module subset names non-existent '$mod'.\n")
|
||||
if (!defined($subdirs{$mod}));
|
||||
$include{$mod} = 1;
|
||||
}
|
||||
}
|
||||
@@ -512,11 +525,16 @@ sub ensure_link
|
||||
return if (!$self->{'force-hooks'} and -f $tgt);
|
||||
unlink($tgt); # In case we have a dead symlink or pre-existing hook
|
||||
print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet});
|
||||
return if eval { symlink($src, $tgt) };
|
||||
if ($^O ne "msys" && $^O ne "MSWin32") {
|
||||
return if eval { symlink($src, $tgt) };
|
||||
}
|
||||
# Windows doesn't do (proper) symlinks. As the post_commit script needs
|
||||
# them to locate itself, we write a forwarding script instead.
|
||||
open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n";
|
||||
print SCRIPT "#!/bin/sh\nexec `dirname \$0`/$src \"\$\@\"\n";
|
||||
# Make the path palatable for MSYS.
|
||||
$src =~ s,\\,/,g;
|
||||
$src =~ s,^(.):/,/$1/,g;
|
||||
print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
|
||||
close SCRIPT;
|
||||
}
|
||||
|
||||
@@ -524,19 +542,30 @@ sub git_install_hooks
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
return if (!-d 'qtrepotools/git-hooks');
|
||||
my $hooks = $script_path.'/qtrepotools/git-hooks';
|
||||
return if (!-d $hooks);
|
||||
|
||||
# Force C locale as git submodule returns the localized string "Entering"
|
||||
local $ENV{LC_ALL} = 'C';
|
||||
chomp(my @modules = `git submodule foreach :`);
|
||||
push @modules, "";
|
||||
for my $module (@modules) {
|
||||
$module =~ s,^Entering \'([^\']+)\'$,$1/,;
|
||||
my $rel = $module;
|
||||
$rel =~ s,[^/]+,..,g;
|
||||
$rel .= "../../qtrepotools/git-hooks/";
|
||||
$self->ensure_link($rel.'gerrit_commit_msg_hook', $module.'.git/hooks/commit-msg');
|
||||
$self->ensure_link($rel.'git_post_commit_hook', $module.'.git/hooks/post-commit');
|
||||
my @configresult = qx(git config --list --local);
|
||||
foreach my $line (@configresult) {
|
||||
next if ($line !~ /submodule\.([^.=]+)\.url=/);
|
||||
my $module = $1.'/.git';
|
||||
if (!-d $module) {
|
||||
open GITD, $module or die "Cannot open $module: $!\n";
|
||||
my $gd = <GITD>;
|
||||
close GITD;
|
||||
chomp($gd);
|
||||
$gd =~ s/^gitdir: // or die "Malformed .git file $module\n";
|
||||
$module = $gd; # We expect it to be always absolute.
|
||||
if (open COMD, $module.'/commondir') {
|
||||
my $cd = <COMD>;
|
||||
chomp($cd);
|
||||
$module .= '/'.$cd;
|
||||
$module = abs_path($module);
|
||||
close COMD;
|
||||
}
|
||||
}
|
||||
$self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module.'/hooks/commit-msg');
|
||||
$self->ensure_link($hooks.'/git_post_commit_hook', $module.'/hooks/post-commit');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -563,5 +592,5 @@ sub run
|
||||
|
||||
#==============================================================================
|
||||
|
||||
Qt::InitRepository->new(@ARGV)->run if (!caller);
|
||||
Qt::InitRepository->new()->run if (!caller);
|
||||
1;
|
||||
|
||||
144
qt.pro
144
qt.pro
@@ -7,100 +7,68 @@ CONFIG -= build_pass # unhack, as it confuses Qt Creator
|
||||
|
||||
TEMPLATE = subdirs
|
||||
|
||||
defineReplace(moduleName) {
|
||||
return(module_$$replace(1, -, _))
|
||||
}
|
||||
|
||||
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
||||
defineTest(addModule) {
|
||||
for(d, $$list($$2 $$3)): \
|
||||
!contains(MODULES, $$d): \
|
||||
error("'$$1' depends on not (yet) declared '$$d'.")
|
||||
MODULES += $$1
|
||||
export(MODULES)
|
||||
|
||||
contains(QT_SKIP_MODULES, $$1): return(false)
|
||||
!isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$1): return(false)
|
||||
mod = $$moduleName($$1)
|
||||
|
||||
isEmpty(4) {
|
||||
!exists($$1/$${1}.pro): return(false)
|
||||
$${mod}.subdir = $$1
|
||||
export($${mod}.subdir)
|
||||
# Extract submodules from .gitmodules.
|
||||
lines = $$cat(.gitmodules, lines)
|
||||
for (line, lines) {
|
||||
mod = $$replace(line, "^\\[submodule \"([^\"]+)\"\\]$", \\1)
|
||||
!equals(mod, $$line) {
|
||||
module = $$mod
|
||||
modules += $$mod
|
||||
} else {
|
||||
!exists($$1/$${4}): return(false)
|
||||
$${mod}.file = $$1/$$4
|
||||
prop = $$replace(line, "^$$escape_expand(\\t)([^ =]+) *=.*$", \\1)
|
||||
!equals(prop, $$line) {
|
||||
val = $$replace(line, "^[^=]+= *", )
|
||||
module.$${module}.$$prop = $$split(val)
|
||||
} else {
|
||||
error("Malformed line in .gitmodules: $$line")
|
||||
}
|
||||
}
|
||||
}
|
||||
QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
|
||||
|
||||
modules = $$sort_depends(modules, module., .depends .recommends)
|
||||
modules = $$reverse(modules)
|
||||
for (mod, modules) {
|
||||
equals(module.$${mod}.qt, false): \
|
||||
next()
|
||||
|
||||
deps = $$eval(module.$${mod}.depends)
|
||||
recs = $$eval(module.$${mod}.recommends)
|
||||
for (d, $$list($$deps $$recs)): \
|
||||
!contains(modules, $$d): \
|
||||
error("'$$mod' depends on undeclared '$$d'.")
|
||||
|
||||
contains(QT_SKIP_MODULES, $$mod): \
|
||||
next()
|
||||
!isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$mod): \
|
||||
next()
|
||||
|
||||
project = $$eval(module.$${mod}.project)
|
||||
isEmpty(project) {
|
||||
!exists($$mod/$${mod}.pro): \
|
||||
next()
|
||||
$${mod}.subdir = $$mod
|
||||
} else {
|
||||
!exists($$mod/$$project): \
|
||||
next()
|
||||
$${mod}.file = $$mod/$$project
|
||||
$${mod}.makefile = Makefile
|
||||
export($${mod}.file)
|
||||
export($${mod}.makefile)
|
||||
}
|
||||
$${mod}.target = module-$$mod
|
||||
|
||||
for(d, 2) {
|
||||
dn = $$moduleName($$d)
|
||||
!contains(SUBDIRS, $$dn): \
|
||||
return(false)
|
||||
$${mod}.depends += $$dn
|
||||
for (d, deps) {
|
||||
!contains(SUBDIRS, $$d) {
|
||||
$${mod}.target =
|
||||
break()
|
||||
}
|
||||
$${mod}.depends += $$d
|
||||
}
|
||||
for(d, 3) {
|
||||
dn = $$moduleName($$d)
|
||||
contains(SUBDIRS, $$dn): \
|
||||
$${mod}.depends += $$dn
|
||||
isEmpty($${mod}.target): \
|
||||
next()
|
||||
for (d, recs) {
|
||||
contains(SUBDIRS, $$d): \
|
||||
$${mod}.depends += $$d
|
||||
}
|
||||
!isEmpty($${mod}.depends): \
|
||||
export($${mod}.depends)
|
||||
|
||||
$${mod}.target = module-$$1
|
||||
export($${mod}.target)
|
||||
|
||||
SUBDIRS += $$mod
|
||||
export(SUBDIRS)
|
||||
return(true)
|
||||
}
|
||||
|
||||
# only qtbase is required to exist. The others may not - but it is the
|
||||
# users responsibility to ensure that all needed dependencies exist, or
|
||||
# it may not build.
|
||||
|
||||
ANDROID_EXTRAS =
|
||||
android: ANDROID_EXTRAS = qtandroidextras
|
||||
|
||||
addModule(qtbase)
|
||||
addModule(qtandroidextras, qtbase)
|
||||
addModule(qtmacextras, qtbase)
|
||||
addModule(qtx11extras, qtbase)
|
||||
addModule(qtsvg, qtbase)
|
||||
addModule(qtxmlpatterns, qtbase)
|
||||
addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
|
||||
addModule(qtgraphicaleffects, qtdeclarative)
|
||||
addModule(qtquickcontrols, qtdeclarative, qtgraphicaleffects)
|
||||
addModule(qtquickcontrols2, qtquickcontrols)
|
||||
addModule(qtmultimedia, qtbase, qtdeclarative)
|
||||
addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
|
||||
addModule(qtactiveqt, qtbase)
|
||||
addModule(qtsystems, qtbase, qtdeclarative)
|
||||
addModule(qtsensors, qtbase, qtdeclarative)
|
||||
addModule(qtconnectivity, qtbase $$ANDROID_EXTRAS, qtdeclarative)
|
||||
addModule(qtfeedback, qtdeclarative, qtmultimedia)
|
||||
addModule(qtpim, qtdeclarative)
|
||||
addModule(qtwebsockets, qtbase, qtdeclarative)
|
||||
addModule(qtwebchannel, qtbase, qtdeclarative qtwebsockets)
|
||||
addModule(qtserialport, qtbase)
|
||||
addModule(qtlocation, qtbase, qtdeclarative qtquickcontrols qtserialport qtsystems)
|
||||
addModule(qtwebkit, qtbase, qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns, WebKit.pro)
|
||||
addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
|
||||
addModule(qtwebkit-examples, qtwebkit qttools)
|
||||
addModule(qtimageformats, qtbase)
|
||||
addModule(qt3d, qtdeclarative qtimageformats)
|
||||
addModule(qtcanvas3d, qtdeclarative)
|
||||
addModule(qtscript, qtbase, qttools)
|
||||
addModule(qtquick1, qtscript, qtsvg qtxmlpatterns)
|
||||
addModule(qtdocgallery, qtdeclarative)
|
||||
addModule(qtwayland, qtbase, qtdeclarative)
|
||||
addModule(qtserialbus, qtserialport)
|
||||
addModule(qtenginio, qtdeclarative)
|
||||
addModule(qtwebengine, qtquickcontrols qtwebchannel, qtlocation)
|
||||
addModule(qtwebview, qtdeclarative, qtwebengine)
|
||||
addModule(qtpurchasing, qtbase, qtdeclarative)
|
||||
addModule(qttranslations, qttools)
|
||||
addModule(qtdoc, qtdeclarative)
|
||||
addModule(qtqa, qtbase)
|
||||
|
||||
2
qt3d
2
qt3d
Submodule qt3d updated: dc6e9d02ac...fae5232d47
Submodule qtactiveqt updated: dd0feaa95a...b5440b50f2
Submodule qtandroidextras updated: 8e288bab37...368b0bbf2b
2
qtbase
2
qtbase
Submodule qtbase updated: adb914f4b9...c327fb79e1
Submodule qtcanvas3d updated: bb1504c271...32404e2710
1
qtcharts
Submodule
1
qtcharts
Submodule
Submodule qtcharts added at 97bb01ce5d
Submodule qtconnectivity updated: cd81e43c26...f8759f683c
1
qtdatavis3d
Submodule
1
qtdatavis3d
Submodule
Submodule qtdatavis3d added at 8427634773
Submodule qtdeclarative updated: 5f96bc0738...70cb68298a
2
qtdoc
2
qtdoc
Submodule qtdoc updated: 91ca24d048...6c36de2e07
Submodule qtenginio updated: d08c5e0f9a...0f6e294fb8
Submodule qtfeedback updated: 862de791d7...28ca624149
1
qtgamepad
Submodule
1
qtgamepad
Submodule
Submodule qtgamepad added at dee527d227
Submodule qtgraphicaleffects updated: 3f24016938...d85fd81f33
Submodule qtimageformats updated: 6730d70f00...42b07b2ddf
Submodule qtlocation updated: d75c0469c0...bae9a0f52e
Submodule qtmacextras updated: d8ebb7eeea...509c7b7f7d
Submodule qtmultimedia updated: 82e135167a...7f286e0965
2
qtpim
2
qtpim
Submodule qtpim updated: fa74ad6eda...de4cfc6b53
Submodule qtpurchasing updated: 951d75d744...114352e123
2
qtqa
2
qtqa
Submodule qtqa updated: 0ff6cfc355...4704f79e9b
2
qtquick1
2
qtquick1
Submodule qtquick1 updated: a669c33d9c...5e3bd5cb28
Submodule qtquickcontrols updated: 80cde7c7ca...4b77b044b3
Submodule qtquickcontrols2 updated: d4df163af0...4ae3a828ad
Submodule qtrepotools updated: 3564f7cbbf...49d25c47a5
2
qtscript
2
qtscript
Submodule qtscript updated: 94307729ed...b49bfdaad1
1
qtscxml
Submodule
1
qtscxml
Submodule
Submodule qtscxml added at e1513d7f90
Submodule qtsensors updated: c398c3a93e...33d15b76df
Submodule qtserialbus updated: 1166152611...1675a0d726
Submodule qtserialport updated: bd3fb6cc34...84feab670c
1
qtspeech
Submodule
1
qtspeech
Submodule
Submodule qtspeech added at ca8768b90c
2
qtsvg
2
qtsvg
Submodule qtsvg updated: 84eae855ee...612c304147
Submodule qtsystems updated: 37b614abbf...cc2077700b
2
qttools
2
qttools
Submodule qttools updated: 58d1304edb...d36d2c3026
Submodule qttranslations updated: 2d9a8c8389...745f8d5329
1
qtvirtualkeyboard
Submodule
1
qtvirtualkeyboard
Submodule
Submodule qtvirtualkeyboard added at 0df8022f93
Submodule qtwayland updated: f51de354b1...44f4395879
Submodule qtwebchannel updated: 97577a0f27...a2c3b32d08
Submodule qtwebengine updated: d239b60313...22a5503036
2
qtwebkit
2
qtwebkit
Submodule qtwebkit updated: 62dd2add32...2e8517924b
Submodule qtwebkit-examples updated: 7988aecdbc...f3f9e2a1b7
Submodule qtwebsockets updated: 469f748515...00156d63ee
Submodule qtwebview updated: 7b6d9a4cba...9415249942
Submodule qtwinextras updated: c49209f274...6d019d276a
Submodule qtx11extras updated: d64ee96f0d...b414120c60
Submodule qtxmlpatterns updated: 8ba610490e...9661c2a29f
Reference in New Issue
Block a user