diff options
-rw-r--r-- | .commit-template | 3 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rwxr-xr-x | init-repository | 46 | ||||
m--------- | qlalr | 0 | ||||
-rw-r--r-- | qt.pro | 3 |
5 files changed, 45 insertions, 10 deletions
diff --git a/.commit-template b/.commit-template index 813ca689..3edc08db 100644 --- a/.commit-template +++ b/.commit-template @@ -12,9 +12,6 @@ # One task per entry. Remember space after colon. #Task-number: # -# Solicit reviewers. They still need to use the Gerrit frontend. -#Reviewed-by: -# # ==[ Please wrap at 72 characters ]===================================| # # Remember to read http://wiki.qt-project.org/Commit_Policy diff --git a/.gitmodules b/.gitmodules index f1b10395..0d6fb1aa 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,9 +28,6 @@ [submodule "qtdoc"] path = qtdoc url = ../qtdoc.git -[submodule "qlalr"] - path = qlalr - url = ../qlalr.git [submodule "qtrepotools"] path = qtrepotools url = ../qtrepotools.git diff --git a/init-repository b/init-repository index 8ad799ad..b38a07e9 100755 --- a/init-repository +++ b/init-repository @@ -70,6 +70,12 @@ B<Global options:> Force initialization (even if the submodules are already checked out). +=item --force-hooks + +Force initialization of hooks (even if there are already hooks in checked out +submodules). + + =item --quiet, -q Be quiet. Will exit cleanly if the repository is already initialized. @@ -200,7 +206,6 @@ my %PROTOCOLS = ( my %GERRIT_REPOS = map { $_ => "qt/$_" } qw( qt3d qt5 - qlalr qtactiveqt qtandroidextras qtbase @@ -244,6 +249,7 @@ my @DEFAULT_REPOS = qw( qtconnectivity qtdeclarative qtdoc + qtenginio qtgraphicaleffects qtimageformats qtmacextras @@ -312,6 +318,7 @@ sub parse_arguments 'codereview-username' => "", 'detach-alternates' => 0 , 'force' => 0 , + 'force-hooks' => 0 , 'ignore-submodules' => 0 , 'mirror-url' => "", 'protocol' => "", @@ -324,7 +331,8 @@ sub parse_arguments 'alternates=s' => \$self->{qw{ alternates }}, 'codereview-username=s' => \$self->{qw{ codereview-username }}, 'copy-objects' => \$self->{qw{ detach-alternates }}, - 'force' => \$self->{qw{ force }}, + 'force|f' => \$self->{qw{ force }}, + 'force-hooks' => \$self->{qw{ force-hooks }}, 'ignore-submodules' => \$self->{qw{ ignore-submodules }}, 'mirror=s' => \$self->{qw{ mirror-url }}, 'quiet' => \$self->{qw{ quiet }}, @@ -576,6 +584,38 @@ sub git_clone_one_submodule return; } +sub ensure_link +{ + my ($self, $src, $tgt) = @_; + 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) }; + # 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"; + close SCRIPT; +} + +sub git_install_hooks +{ + my ($self) = @_; + + return if (!-d 'qtrepotools/git-hooks'); + + 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'); + } +} + sub run { my ($self) = @_; @@ -597,6 +637,8 @@ sub run $self->git_add_remotes('qt5'); + $self->git_install_hooks; + return; } diff --git a/qlalr b/qlalr deleted file mode 160000 -Subproject 4071d86e82b299f26e335a7faf662b5a676e227 @@ -61,12 +61,11 @@ addModule(qtbase) addModule(qtandroidextras, qtbase) addModule(qtmacextras, qtbase) addModule(qtx11extras, qtbase) -addModule(qlalr, qtbase) addModule(qtsvg, qtbase) addModule(qtxmlpatterns, qtbase) addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns) addModule(qtquickcontrols, qtdeclarative) -addModule(qtmultimedia, qtdeclarative) +addModule(qtmultimedia, qtbase, qtdeclarative) addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia) addModule(qtactiveqt, qtbase) addModule(qt3d, qtdeclarative) |