summaryrefslogtreecommitdiffstats
path: root/contrib/reorg-tools/syncflags.pl
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/reorg-tools/syncflags.pl')
-rwxr-xr-xcontrib/reorg-tools/syncflags.pl88
1 files changed, 0 insertions, 88 deletions
diff --git a/contrib/reorg-tools/syncflags.pl b/contrib/reorg-tools/syncflags.pl
deleted file mode 100755
index 8e039f7bb..000000000
--- a/contrib/reorg-tools/syncflags.pl
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/perl -w
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# The contents of this file are subject to the Mozilla Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# The Initial Developer of the Original Code is Netscape Communications
-# Corporation. Portions created by Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s): Gervase Markham <gerv@gerv.net>
-
-# See also https://bugzilla.mozilla.org/show_bug.cgi?id=119569
-
-use strict;
-
-use lib qw(. lib);
-
-use Bugzilla;
-use Bugzilla::Constants;
-
-sub usage() {
- print <<USAGE;
-Usage: syncflags.pl <srcproduct> <tgtproduct>
-
-E.g.: syncflags.pl FoodReplicator SeaMonkey
-will copy any flag inclusions (only) for the product "FoodReplicator"
-so matching inclusions exist for the product "SeaMonkey". This script is
-normally used prior to moving components from srcproduct to tgtproduct.
-USAGE
-
- exit(1);
-}
-
-#############################################################################
-# MAIN CODE
-#############################################################################
-
-# This is a pure command line script.
-Bugzilla->usage_mode(USAGE_MODE_CMDLINE);
-
-if (scalar @ARGV < 2) {
- usage();
- exit();
-}
-
-my ($srcproduct, $tgtproduct) = @ARGV;
-
-my $dbh = Bugzilla->dbh;
-
-# Find product IDs
-my $srcprodid = $dbh->selectrow_array("SELECT id FROM products WHERE name = ?",
- undef, $srcproduct);
-if (!$srcprodid) {
- print "Can't find product ID for '$srcproduct'.\n";
- exit(1);
-}
-
-my $tgtprodid = $dbh->selectrow_array("SELECT id FROM products WHERE name = ?",
- undef, $tgtproduct);
-if (!$tgtprodid) {
- print "Can't find product ID for '$tgtproduct'.\n";
- exit(1);
-}
-
-$dbh->do("INSERT INTO flaginclusions(component_id, type_id, product_id)
- SELECT fi1.component_id, fi1.type_id, ? FROM flaginclusions fi1
- LEFT JOIN flaginclusions fi2
- ON fi1.type_id = fi2.type_id
- AND fi2.product_id = ?
- WHERE fi1.product_id = ?
- AND fi2.type_id IS NULL",
- undef,
- $tgtprodid, $tgtprodid, $srcprodid);
-
-# It's complex to determine which items now need to be flushed from memcached.
-# As this is expected to be a rare event, we just flush the entire cache.
-Bugzilla->memcached->clear_all();