mirror of
git://code.qt.io/qt/qt5.git
synced 2026-03-17 17:56:11 +08:00
init-repository: replace obsolete staging remotes with gerrit remotes
All Qt5 modules are now moved into gerrit. The staging repositories are obsolete. Change-Id: Ibdde6234da97a4664e54dbcd4425ed1b022cf850 Reviewed-on: http://codereview.qt.nokia.com/1254 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
aef0d33e30
commit
3be6eb3042
@@ -132,6 +132,8 @@ Use the SSH protocol for git operations. This may be useful if the git
|
||||
protocol is blocked by a firewall. Note that this requires a user account
|
||||
with an uploaded SSH key on all servers used. (Implies `--nokia-developer').
|
||||
|
||||
The `--ssh' option does not affect the gerrit remotes.
|
||||
|
||||
|
||||
=item --http
|
||||
|
||||
@@ -139,14 +141,20 @@ Use the HTTP protocol for git operations. This may be useful if the git
|
||||
protocol is blocked by a firewall. Note that this only works with the
|
||||
external Gitorious server.
|
||||
|
||||
The `--http' option does not affect the gerrit remotes.
|
||||
|
||||
|
||||
=item --codereview-username <Gerrit/JIRA username>
|
||||
|
||||
Adds a gerrit alias to repos under Gerrit codereview management.
|
||||
Adds a (potentially) writable remote named `gerrit' for each module,
|
||||
for use with the Gerrit code review tool.
|
||||
This requires a username for SSH access to the codereview.qt.nokia.com
|
||||
server, which will be the same username you have for the bugtracker at
|
||||
bugreports.qt.nokia.com.
|
||||
|
||||
If this option is omitted, the gerrit remote is created with read-only
|
||||
access (using HTTP protocol).
|
||||
|
||||
|
||||
=item --alternates <path to other Qt5 repo>
|
||||
|
||||
@@ -206,34 +214,35 @@ my %PROTOCOLS = (
|
||||
'http' => 'http://git.gitorious.org/' ,
|
||||
);
|
||||
|
||||
my %STAGING_REPOS = map { $_ => "git://gitorious.org/qt/$_-staging.git" } qw(
|
||||
my %GERRIT_REPOS = map { $_ => "qt/$_" } qw(
|
||||
qt5
|
||||
qt3support
|
||||
qlalr
|
||||
qtactiveqt
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtdoc
|
||||
qtfeedback
|
||||
qtlocation
|
||||
qtmultimedia
|
||||
qtmultimediakit
|
||||
qtphonon
|
||||
qtqa
|
||||
qtrepotools
|
||||
qtscript
|
||||
qtsensors
|
||||
qtsvg
|
||||
qtsystems
|
||||
qttools
|
||||
qttranslations
|
||||
qtwebkit-examples-and-demos
|
||||
qtxmlpatterns
|
||||
qtlocation
|
||||
qtsensors
|
||||
qtsystems
|
||||
qtfeedback
|
||||
);
|
||||
|
||||
my %GERRIT_REPOS = map { $_ => "codereview.qt.nokia.com:qt/$_.git" } qw(
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtdoc
|
||||
qtmultimediakit
|
||||
);
|
||||
my $GERRIT_SSH_BASE
|
||||
= 'ssh://codereview.qt.nokia.com:29418/';
|
||||
|
||||
my $GERRIT_HTTP_BASE
|
||||
= 'http://codereview.qt.nokia.com/p/';
|
||||
|
||||
my $BNE_MIRROR_URL_BASE
|
||||
= 'git://bq-git.apac.nokia.com/qtsoftware/qt/';
|
||||
@@ -437,8 +446,7 @@ sub git_clone_all_submodules
|
||||
{
|
||||
my ($self) = @_;
|
||||
|
||||
# manually clone each repo here, so we can easily use reference repos, mirrors and
|
||||
# add all staging repos
|
||||
# manually clone each repo here, so we can easily use reference repos, mirrors etc
|
||||
my @configresult = qx(git config -l);
|
||||
foreach my $line (@configresult) {
|
||||
if ($line =~ /submodule\.([^.=]+)\.url=(.*)/) {
|
||||
@@ -464,51 +472,31 @@ sub git_add_remotes
|
||||
$current_remotes{$line} = 1;
|
||||
}
|
||||
|
||||
my @gerrit = grep { /^$repo_basename$/; } keys %GERRIT_REPOS;
|
||||
if (!$current_remotes{'gerrit'} && $self->{'codereview-username'}) {
|
||||
foreach my $gerrit_repo (@gerrit) {
|
||||
my $gerrit_repo_url = $GERRIT_REPOS{$gerrit_repo};
|
||||
$self->exe('git', 'remote', 'add', 'gerrit', $self->{'codereview-username'}."@".$gerrit_repo_url);
|
||||
my $gerrit_repo_basename = $GERRIT_REPOS{$repo_basename};
|
||||
if ($gerrit_repo_basename && !$current_remotes{'gerrit'}) {
|
||||
my $gerrit_repo_url;
|
||||
|
||||
# If given a username, we use writable remote (ssh).
|
||||
# Otherwise, we use read-only (http).
|
||||
if ($self->{'codereview-username'}) {
|
||||
$gerrit_repo_url = $GERRIT_SSH_BASE;
|
||||
$gerrit_repo_url =~ s[^ssh://][ssh://$self->{'codereview-username'}@];
|
||||
}
|
||||
else {
|
||||
$gerrit_repo_url = $GERRIT_HTTP_BASE;
|
||||
}
|
||||
|
||||
$gerrit_repo_url .= $gerrit_repo_basename;
|
||||
$self->exe('git', 'remote', 'add', 'gerrit', $gerrit_repo_url);
|
||||
|
||||
$current_remotes{'gerrit'} = 1;
|
||||
}
|
||||
|
||||
my @staging = grep { /^$repo_basename$/; } keys %STAGING_REPOS;
|
||||
if (!$current_remotes{'staging'}) {
|
||||
foreach my $staging_repo (@staging) {
|
||||
my $staging_repo_url = $STAGING_REPOS{$staging_repo};
|
||||
if ($protocol) {
|
||||
if ($protocol ne 'http') {
|
||||
$staging_repo_url =~ s,^git://gitorious\.org/qt-labs/,${url_base_for_protocol}qt/,;
|
||||
}
|
||||
$staging_repo_url =~ s,^git://gitorious\.org/,$url_base_for_protocol,;
|
||||
}
|
||||
$self->exe('git', 'remote', 'add', 'staging', $staging_repo_url);
|
||||
}
|
||||
}
|
||||
|
||||
# if repo has no staging repo defined, alias it to gerrit or origin
|
||||
if (!$current_remotes{'staging'} && !@staging) {
|
||||
my @configresult = qx(git remote -v);
|
||||
my $staging_set = 0;
|
||||
foreach (@configresult) {
|
||||
if (/^gerrit\s+(\S+) \(fetch\)/) {
|
||||
$self->exe('git', 'remote', 'add', 'staging', $1);
|
||||
$staging_set = 1;
|
||||
}
|
||||
}
|
||||
unless($staging_set) {
|
||||
foreach (@configresult) {
|
||||
if (/^origin\s+(\S+) \(fetch\)/) {
|
||||
$self->exe('git', 'remote', 'add', 'staging', $1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#if repo has no gerrit repo defined, alias it to whatever staging now points to (could be origin)
|
||||
if (!$current_remotes{'gerrit'} && !@gerrit) {
|
||||
# if repo still has no gerrit repo defined, alias it to origin
|
||||
if (!$current_remotes{'gerrit'}) {
|
||||
my @configresult = qx(git remote -v);
|
||||
foreach (@configresult) {
|
||||
if (/^staging\s+(\S+) \(fetch\)/) {
|
||||
if (/^origin\s+(\S+) \(fetch\)/) {
|
||||
$self->exe('git', 'remote', 'add', 'gerrit', $1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user