[Bps-public-commit] RT-BugTracker branch, 4.2-4.4-compatibility, updated. 5.2-17-gf829759

Shawn Moore shawn at bestpractical.com
Wed Mar 29 18:01:59 EDT 2017


The branch, 4.2-4.4-compatibility has been updated
       via  f82975985e1774cc7c4e80a59bc8a8bce9e72ab7 (commit)
       via  6b32066bae2e9a22d699d2d8a89a68e3a016db44 (commit)
       via  d98de582b93976311e478275bb4ea696e27c53d8 (commit)
      from  73117cb575e17aecf41a0658f68e596410d5e447 (commit)

Summary of changes:
 Changes               |   8 +
 META.yml              |   2 +-
 Makefile.PL           |   1 -
 README                |  74 +++++----
 html/Dist/Search.html |   2 +-
 inc/unicore/Name.pm   | 417 --------------------------------------------------
 lib/RT/BugTracker.pm  |  10 +-
 7 files changed, 59 insertions(+), 455 deletions(-)
 delete mode 100644 inc/unicore/Name.pm

- Log -----------------------------------------------------------------
commit d98de582b93976311e478275bb4ea696e27c53d8
Author: Shawn M Moore <shawn at bestpractical.com>
Date:   Wed Mar 29 21:59:07 2017 +0000

    Silly HTML tag fix

diff --git a/html/Dist/Search.html b/html/Dist/Search.html
index 8133bfc..3d0b659 100755
--- a/html/Dist/Search.html
+++ b/html/Dist/Search.html
@@ -48,8 +48,8 @@
 <& /Elements/Header, Title => loc("Public Bug Tracker") &>
 <& /Elements/Tabs &>
 
-<p>
 % unless (RT->Config->Get('BugTracker_ShowAllDistributions')) {
+<p>
   <form action="/Dist/Display.html" method="get">
     <label for="form-dist-name"><&|/l&>Find a distribution by full name:</&></label>
     <input type="text" name="Queue" id="form-dist-name" data-autocomplete="Queues" data-autocomplete-autosubmit=1 />

commit 6b32066bae2e9a22d699d2d8a89a68e3a016db44
Author: Shawn M Moore <shawn at bestpractical.com>
Date:   Wed Mar 29 22:00:40 2017 +0000

    Clean up POD errors

diff --git a/lib/RT/BugTracker.pm b/lib/RT/BugTracker.pm
index 05f8ebd..0babe91 100644
--- a/lib/RT/BugTracker.pm
+++ b/lib/RT/BugTracker.pm
@@ -88,8 +88,6 @@ The bug list search result page includes a link to the distribution's
 C<Manage> page. Distribution maintainers and BugTracker admins can set
 various attributes of the distribution here.
 
-=over 4
-
 =head2 Distribution notes
 
 These notes appear at the top of the distribution's bug list.
@@ -105,8 +103,6 @@ to the email addresses configured here.
 
 STUB: The additional subject tag is currently broken in 4.2/4.4. BPS will document this functionality when it is fixed.
 
-=back
-
 =cut
 
 RT->AddStyleSheets("bugtracker.css");
@@ -352,12 +348,12 @@ Use this config variable to specify the search result format for a
 distribution's list of tickets, much like C<DefaultSearchResultFormat>
 in core RT.
 
-=item2 BugTracker_HideBrowseDistributions
+=head2 BugTracker_HideBrowseDistributions
 
 Use this config variable to suppress the alphabetical distribution browser
 UI, for users with fewer than tens of thousands of queues. :)
 
-=item2 BugTracker_ShowAllDistributions
+=head2 BugTracker_ShowAllDistributions
 
 Use this config variable to always display all distributions, for users
 with fewer than hundreds of queues. :)

commit f82975985e1774cc7c4e80a59bc8a8bce9e72ab7
Author: Shawn M Moore <shawn at bestpractical.com>
Date:   Wed Mar 29 22:01:16 2017 +0000

    5.4 releng

diff --git a/Changes b/Changes
index e3fd6d4..4ecae8d 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,11 @@
+5.4 2017-03-29
+ - Make several features configurable:
+   * BugTracker_CustomFieldsOnUpdate - specify CFs to update on maintainer reply
+   * BugTracker_SearchResultFormat - customize ticket listing columns
+   * BugTracker_HideBrowseDistributions - hide A..Z dist browsing
+   * BugTracker_ShowAllDistributions - show all dists by default
+ - Document skipping "make initdb"
+
 5.3 2017-03-08
  - Add RT 4.2 and 4.4 compatibility
  - Remove RT <=4.0 compatibility
diff --git a/META.yml b/META.yml
index d8ebf62..cd0f9a2 100644
--- a/META.yml
+++ b/META.yml
@@ -27,7 +27,7 @@ requires:
 resources:
   license: http://opensource.org/licenses/gpl-license.php
   repository: https://github.com/bestpractical/rt-bugtracker
-version: '5.3'
+version: '5.4'
 x_module_install_rtx_version: '0.38'
 x_requires_rt: 4.2.0
 x_rt_too_new: 4.6.0
diff --git a/Makefile.PL b/Makefile.PL
index 3404c7e..26961ff 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -9,5 +9,4 @@ rt_too_new('4.6.0');
 
 no_index( package => 'RT::Queue' );
 
-sign();
 WriteAll();
diff --git a/README b/README
index d631641..a657588 100644
--- a/README
+++ b/README
@@ -49,6 +49,10 @@ INSTALLATION
         May need root permissions
 
     make initdb
+        RT::BugTracker creates several custom fields for tracking bugs; you
+        may skip this step if you intend to use different custom fields. See
+        the section below on "Custom Fields".
+
         Only run this the first time you install this module.
 
         If you run this twice, you may end up with duplicate data in your
@@ -101,24 +105,48 @@ CONFIGURATION
     The values above translate Perl module names into their email-friendly
     counterpart queue names.
 
-  Custom Fields: Severity, Broken in, Fixed in
-    RT::BugTracker creates three custom fields on queues, globally, with
-    empty values. The BugTracker administrator must populate the values of
-    each of these custom fields.
-
-   Severity
-    Bug severity levels, like 'Low', 'Medium', and 'High'.
-
-   Broken in
-    The distribution version where the bug in the ticket first appeared.
-    Since each distribution will have different release versions, the
-    BugTracker admin will need top populate these values for each
-    distribution.
-
-   Fixed in
-    The distribution version where the bug in the ticket was fixed. Since
-    each distribution will have different release versions, the BugTracker
-    admin will need top populate these values for each distribution.
+  BugTracker_CustomFieldsOnUpdate
+    Use this config variable to specify a list of custom field names to
+    display on the ticket reply page for privileged users. By default it
+    displays "Fixed in" to help maintainers quickly close out issues as the
+    fixes are released.
+
+  BugTracker_SearchResultFormat
+    Use this config variable to specify the search result format for a
+    distribution's list of tickets, much like DefaultSearchResultFormat in
+    core RT.
+
+  BugTracker_HideBrowseDistributions
+    Use this config variable to suppress the alphabetical distribution
+    browser UI, for users with fewer than tens of thousands of queues. :)
+
+  BugTracker_ShowAllDistributions
+    Use this config variable to always display all distributions, for users
+    with fewer than hundreds of queues. :)
+
+  Custom Fields
+    By default, when you run make initdb, RT::BugTracker creates three
+    custom fields on queues, globally, with empty values.
+
+    Severity
+        Bug severity levels, like 'Low', 'Medium', and 'High'.
+
+    Broken in
+        The distribution version where the bug in the ticket first appeared.
+        Since each distribution will have different release versions, the
+        BugTracker admin will need top populate these values for each
+        distribution.
+
+    Fixed in
+        The distribution version where the bug in the ticket was fixed.
+        Since each distribution will have different release versions, the
+        BugTracker admin will need top populate these values for each
+        distribution.
+
+    You may choose to skip creation of these custom fields by skipping the
+    make initdb step. If you would like to use your own custom fields, you
+    should investigate setting the BugTracker_CustomFieldsOnUpdate and
+    BugTracker_SearchResultFormat config options documented above.
 
 SEE ALSO
     RT::BugTracker::Public, RT::Extension::rt_cpan_org
@@ -142,13 +170,3 @@ LICENSE AND COPYRIGHT
 
       The GNU General Public License, Version 2, June 1991
 
-POD ERRORS
-    Hey! The above document had some coding errors, which are explained
-    below:
-
-    Around line 93:
-        You forgot a '=back' before '=head2'
-
-    Around line 108:
-        =back without =over
-
diff --git a/inc/unicore/Name.pm b/inc/unicore/Name.pm
deleted file mode 100644
index d72eb6e..0000000
--- a/inc/unicore/Name.pm
+++ /dev/null
@@ -1,417 +0,0 @@
-#line 1
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-# This file is machine-generated by lib/unicore/mktables from the Unicode
-# database, Version 6.3.0.  Any changes made here will be lost!
-
-
-# !!!!!!!   INTERNAL PERL USE ONLY   !!!!!!!
-# This file is for internal use by core Perl only.  The format and even the
-# name or existence of this file are subject to change without notice.  Don't
-# use it directly.  Use Unicode::UCD to access the Unicode character data
-# base.
-
-
-package charnames;
-
-# This module contains machine-generated tables and code for the
-# algorithmically-determinable Unicode character names.  The following
-# routines can be used to translate between name and code point and vice versa
-
-{ # Closure
-
-    # Matches legal code point.  4-6 hex numbers, If there are 6, the first
-    # two must be 10; if there are 5, the first must not be a 0.  Written this
-    # way to decrease backtracking.  The first regex allows the code point to
-    # be at the end of a word, but to work properly, the word shouldn't end
-    # with a valid hex character.  The second one won't match a code point at
-    # the end of a word, and doesn't have the run-on issue
-    my $run_on_code_point_re = qr/(?^aax: (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b)/;
-    my $code_point_re = qr/(?^aa:\b(?^aax: (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b))/;
-
-    # In the following hash, the keys are the bases of names which include
-    # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01.  The value
-    # of each key is another hash which is used to get the low and high ends
-    # for each range of code points that apply to the name.
-    my %names_ending_in_code_point = (
-'CJK COMPATIBILITY IDEOGRAPH' => 
-{
-'high' => 
-[
-64109,
-64217,
-195101,
-],
-'low' => 
-[
-63744,
-64112,
-194560,
-],
-},
-'CJK UNIFIED IDEOGRAPH' => 
-{
-'high' => 
-[
-19893,
-40908,
-173782,
-177972,
-178205,
-],
-'low' => 
-[
-13312,
-19968,
-131072,
-173824,
-177984,
-],
-},
-
-    );
-
-    # The following hash is a copy of the previous one, except is for loose
-    # matching, so each name has blanks and dashes squeezed out
-    my %loose_names_ending_in_code_point = (
-'CJKCOMPATIBILITYIDEOGRAPH' => 
-{
-'high' => 
-[
-64109,
-64217,
-195101,
-],
-'low' => 
-[
-63744,
-64112,
-194560,
-],
-},
-'CJKUNIFIEDIDEOGRAPH' => 
-{
-'high' => 
-[
-19893,
-40908,
-173782,
-177972,
-178205,
-],
-'low' => 
-[
-13312,
-19968,
-131072,
-173824,
-177984,
-],
-},
-
-    );
-
-    # And the following array gives the inverse mapping from code points to
-    # names.  Lowest code points are first
-    my @code_points_ending_in_code_point = (
-
-{
-'high' => 19893,
-'low' => 13312,
-'name' => 'CJK UNIFIED IDEOGRAPH',
-},
-{
-'high' => 40908,
-'low' => 19968,
-'name' => 'CJK UNIFIED IDEOGRAPH',
-},
-{
-'high' => 64109,
-'low' => 63744,
-'name' => 'CJK COMPATIBILITY IDEOGRAPH',
-},
-{
-'high' => 64217,
-'low' => 64112,
-'name' => 'CJK COMPATIBILITY IDEOGRAPH',
-},
-{
-'high' => 173782,
-'low' => 131072,
-'name' => 'CJK UNIFIED IDEOGRAPH',
-},
-{
-'high' => 177972,
-'low' => 173824,
-'name' => 'CJK UNIFIED IDEOGRAPH',
-},
-{
-'high' => 178205,
-'low' => 177984,
-'name' => 'CJK UNIFIED IDEOGRAPH',
-},
-{
-'high' => 195101,
-'low' => 194560,
-'name' => 'CJK COMPATIBILITY IDEOGRAPH',
-},
-,
-
-    );
-
-    # Convert from code point to Jamo short name for use in composing Hangul
-    # syllable names
-    my %Jamo = (
-4352 => 'G',
-4353 => 'GG',
-4354 => 'N',
-4355 => 'D',
-4356 => 'DD',
-4357 => 'R',
-4358 => 'M',
-4359 => 'B',
-4360 => 'BB',
-4361 => 'S',
-4362 => 'SS',
-4363 => '',
-4364 => 'J',
-4365 => 'JJ',
-4366 => 'C',
-4367 => 'K',
-4368 => 'T',
-4369 => 'P',
-4370 => 'H',
-4449 => 'A',
-4450 => 'AE',
-4451 => 'YA',
-4452 => 'YAE',
-4453 => 'EO',
-4454 => 'E',
-4455 => 'YEO',
-4456 => 'YE',
-4457 => 'O',
-4458 => 'WA',
-4459 => 'WAE',
-4460 => 'OE',
-4461 => 'YO',
-4462 => 'U',
-4463 => 'WEO',
-4464 => 'WE',
-4465 => 'WI',
-4466 => 'YU',
-4467 => 'EU',
-4468 => 'YI',
-4469 => 'I',
-4520 => 'G',
-4521 => 'GG',
-4522 => 'GS',
-4523 => 'N',
-4524 => 'NJ',
-4525 => 'NH',
-4526 => 'D',
-4527 => 'L',
-4528 => 'LG',
-4529 => 'LM',
-4530 => 'LB',
-4531 => 'LS',
-4532 => 'LT',
-4533 => 'LP',
-4534 => 'LH',
-4535 => 'M',
-4536 => 'B',
-4537 => 'BS',
-4538 => 'S',
-4539 => 'SS',
-4540 => 'NG',
-4541 => 'J',
-4542 => 'C',
-4543 => 'K',
-4544 => 'T',
-4545 => 'P',
-4546 => 'H',
-
-    );
-
-    # Leading consonant (can be null)
-    my %Jamo_L = (
-'' => 11,
-'B' => 7,
-'BB' => 8,
-'C' => 14,
-'D' => 3,
-'DD' => 4,
-'G' => 0,
-'GG' => 1,
-'H' => 18,
-'J' => 12,
-'JJ' => 13,
-'K' => 15,
-'M' => 6,
-'N' => 2,
-'P' => 17,
-'R' => 5,
-'S' => 9,
-'SS' => 10,
-'T' => 16,
-
-    );
-
-    # Vowel
-    my %Jamo_V = (
-'A' => 0,
-'AE' => 1,
-'E' => 5,
-'EO' => 4,
-'EU' => 18,
-'I' => 20,
-'O' => 8,
-'OE' => 11,
-'U' => 13,
-'WA' => 9,
-'WAE' => 10,
-'WE' => 15,
-'WEO' => 14,
-'WI' => 16,
-'YA' => 2,
-'YAE' => 3,
-'YE' => 7,
-'YEO' => 6,
-'YI' => 19,
-'YO' => 12,
-'YU' => 17,
-
-    );
-
-    # Optional trailing consonant
-    my %Jamo_T = (
-'B' => 17,
-'BS' => 18,
-'C' => 23,
-'D' => 7,
-'G' => 1,
-'GG' => 2,
-'GS' => 3,
-'H' => 27,
-'J' => 22,
-'K' => 24,
-'L' => 8,
-'LB' => 11,
-'LG' => 9,
-'LH' => 15,
-'LM' => 10,
-'LP' => 14,
-'LS' => 12,
-'LT' => 13,
-'M' => 16,
-'N' => 4,
-'NG' => 21,
-'NH' => 6,
-'NJ' => 5,
-'P' => 26,
-'S' => 19,
-'SS' => 20,
-'T' => 25,
-
-    );
-
-    # Computed re that splits up a Hangul name into LVT or LV syllables
-    my $syllable_re = qr/(|B|BB|C|D|DD|G|GG|H|J|JJ|K|M|N|P|R|S|SS|T)(A|AE|E|EO|EU|I|O|OE|U|WA|WAE|WE|WEO|WI|YA|YAE|YE|YEO|YI|YO|YU)(B|BS|C|D|G|GG|GS|H|J|K|L|LB|LG|LH|LM|LP|LS|LT|M|N|NG|NH|NJ|P|S|SS|T)?/;
-
-    my $HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
-    my $loose_HANGUL_SYLLABLE = "HANGULSYLLABLE";
-
-    # These constants names and values were taken from the Unicode standard,
-    # version 5.1, section 3.12.  They are used in conjunction with Hangul
-    # syllables
-    my $SBase = 0xAC00;
-    my $LBase = 0x1100;
-    my $VBase = 0x1161;
-    my $TBase = 0x11A7;
-    my $SCount = 11172;
-    my $LCount = 19;
-    my $VCount = 21;
-    my $TCount = 28;
-    my $NCount = $VCount * $TCount;
-
-    sub name_to_code_point_special {
-        my ($name, $loose) = @_;
-
-        # Returns undef if not one of the specially handled names; otherwise
-        # returns the code point equivalent to the input name
-        # $loose is non-zero if to use loose matching, 'name' in that case
-        # must be input as upper case with all blanks and dashes squeezed out.
-
-        if ((! $loose && $name =~ s/$HANGUL_SYLLABLE//)
-            || ($loose && $name =~ s/$loose_HANGUL_SYLLABLE//))
-        {
-            return if $name !~ qr/^$syllable_re$/;
-            my $L = $Jamo_L{$1};
-            my $V = $Jamo_V{$2};
-            my $T = (defined $3) ? $Jamo_T{$3} : 0;
-            return ($L * $VCount + $V) * $TCount + $T + $SBase;
-        }
-
-        # Name must end in 'code_point' for this to handle.
-        return if (($loose && $name !~ /^ (.*?) ($run_on_code_point_re) $/x)
-                   || (! $loose && $name !~ /^ (.*) ($code_point_re) $/x));
-
-        my $base = $1;
-        my $code_point = CORE::hex $2;
-        my $names_ref;
-
-        if ($loose) {
-            $names_ref = \%loose_names_ending_in_code_point;
-        }
-        else {
-            return if $base !~ s/-$//;
-            $names_ref = \%names_ending_in_code_point;
-        }
-
-        # Name must be one of the ones which has the code point in it.
-        return if ! $names_ref->{$base};
-
-        # Look through the list of ranges that apply to this name to see if
-        # the code point is in one of them.
-        for (my $i = 0; $i < scalar @{$names_ref->{$base}{'low'}}; $i++) {
-            return if $names_ref->{$base}{'low'}->[$i] > $code_point;
-            next if $names_ref->{$base}{'high'}->[$i] < $code_point;
-
-            # Here, the code point is in the range.
-            return $code_point;
-        }
-
-        # Here, looked like the name had a code point number in it, but
-        # did not match one of the valid ones.
-        return;
-    }
-
-    sub code_point_to_name_special {
-        my $code_point = shift;
-
-        # Returns the name of a code point if algorithmically determinable;
-        # undef if not
-
-        # If in the Hangul range, calculate the name based on Unicode's
-        # algorithm
-        if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
-            use integer;
-            my $SIndex = $code_point - $SBase;
-            my $L = $LBase + $SIndex / $NCount;
-            my $V = $VBase + ($SIndex % $NCount) / $TCount;
-            my $T = $TBase + $SIndex % $TCount;
-            $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
-            $name .= $Jamo{$T} if $T != $TBase;
-            return $name;
-        }
-
-        # Look through list of these code points for one in range.
-        foreach my $hash (@code_points_ending_in_code_point) {
-            return if $code_point < $hash->{'low'};
-            if ($code_point <= $hash->{'high'}) {
-                return sprintf("%s-%04X", $hash->{'name'}, $code_point);
-            }
-        }
-        return;            # None found
-    }
-} # End closure
-
-1;
diff --git a/lib/RT/BugTracker.pm b/lib/RT/BugTracker.pm
index 0babe91..5077e74 100644
--- a/lib/RT/BugTracker.pm
+++ b/lib/RT/BugTracker.pm
@@ -53,7 +53,7 @@ use warnings;
 package RT::BugTracker;
 
 use 5.008003;
-our $VERSION = '5.3';
+our $VERSION = '5.4';
 
 =head1 NAME
 

-----------------------------------------------------------------------


More information about the Bps-public-commit mailing list