diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2016-11-02 18:59:19 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-11-04 12:42:26 +0000 |
commit | 71ed40b0ace06eaa54ec41b2ad622911a94643be (patch) | |
tree | 89c9624a8b23c1efcf50304e27eeaf9f14d1264e /init-repository | |
parent | 4cbc319413df1328df002dec311e6015977f8ec8 (diff) | |
download | qt5-71ed40b0ace06eaa54ec41b2ad622911a94643be.tar.gz |
fix cloning of tagged versions
the .gitmodules of tagged commits typically refers to a release branch
which was deleted shortly after the release. consequently, git clone
--branch is bound to fail.
of course, cloning a fixed sha1/tag requires no branch in the first
place, so revert back to using git clone --no-checkout in that case.
amends ac6168c0c.
Task-number: QTBUG-49133
Change-Id: Ica032f1d07a70ad89f16b23bdf5cdab785612fdc
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'init-repository')
-rwxr-xr-x | init-repository | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/init-repository b/init-repository index 954237d0..f7ba27e9 100755 --- a/init-repository +++ b/init-repository @@ -389,7 +389,8 @@ sub git_clone_all_submodules } foreach my $module (@modules) { - $self->git_clone_one_submodule($subdirs{$module}, $subbases{$module}, $subbranches{$module}); + $self->git_clone_one_submodule($subdirs{$module}, $subbases{$module}, + $co_branch && $subbranches{$module}); } if ($co_branch) { @@ -482,7 +483,11 @@ sub git_clone_one_submodule my $do_clone = (! -e "$submodule/.git"); if ($do_clone) { - push @reference_args, '--branch', $branch if ($branch); + if ($branch) { + push @reference_args, '--branch', $branch; + } else { + push @reference_args, '--no-checkout'; + } $self->exe('git', 'clone', @reference_args, ($mirror ? $mirror : $url), $submodule); } |