r28572 - in /trunk/libsql-abstract-limit-perl: Build.PL Changes MANIFEST META.yml Makefile.PL debian/changelog debian/compat debian/control debian/rules lib/SQL/Abstract/Limit.pm t/01.sql.t t/02.syntax.t t/lib/

eloy at users.alioth.debian.org eloy at users.alioth.debian.org
Tue Dec 23 14:58:37 UTC 2008


Author: eloy
Date: Tue Dec 23 14:58:34 2008
New Revision: 28572

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=28572
Log:
  * New upstream release
  * Move package to Debian Perl Group, change proper headers in debian/control
  * debian/control:
   + Standards-Version updated to 3.8.0
  * Upgraded to debhelper (>= 7), debian/compat updated
  * Use debhelper rules.simple example as debian/rules


Added:
    trunk/libsql-abstract-limit-perl/t/lib/
      - copied from r28571, branches/upstream/libsql-abstract-limit-perl/current/t/lib/
Modified:
    trunk/libsql-abstract-limit-perl/Build.PL
    trunk/libsql-abstract-limit-perl/Changes
    trunk/libsql-abstract-limit-perl/MANIFEST
    trunk/libsql-abstract-limit-perl/META.yml
    trunk/libsql-abstract-limit-perl/Makefile.PL
    trunk/libsql-abstract-limit-perl/debian/changelog
    trunk/libsql-abstract-limit-perl/debian/compat
    trunk/libsql-abstract-limit-perl/debian/control
    trunk/libsql-abstract-limit-perl/debian/rules
    trunk/libsql-abstract-limit-perl/lib/SQL/Abstract/Limit.pm
    trunk/libsql-abstract-limit-perl/t/01.sql.t
    trunk/libsql-abstract-limit-perl/t/02.syntax.t

Modified: trunk/libsql-abstract-limit-perl/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/Build.PL?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/Build.PL (original)
+++ trunk/libsql-abstract-limit-perl/Build.PL Tue Dec 23 14:58:34 2008
@@ -9,6 +9,11 @@
     dist_version_from   => 'lib/SQL/Abstract/Limit.pm',
     requires => { 'Test::More' => 0,
                   'Test::Exception' => 0,
+                  'Test::Builder' => 0,
+                  'Test::Deep' => 0,
+                  'SQL::Abstract' => '1.2',
+                  'Scalar::Util' => 0,
+                  'Data::Dumper' => 0,
                   'DBI' => 0, # for DBI::Const::GetInfoType
                   'SQL::Abstract' => 1.2,
                   },

Modified: trunk/libsql-abstract-limit-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/Changes?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/Changes (original)
+++ trunk/libsql-abstract-limit-perl/Changes Tue Dec 23 14:58:34 2008
@@ -4,8 +4,15 @@
 
 ** indicates API changes
 
+0.14 22nd December 2008, 14:48
+    - added support for Informix, provided by Paul Falbe.
+
+0.13 21st December 2008, 23:20
+    - updated test suite to play with the latest release of SQL::Abstract. 
+        Patches supplied by the SQL::Abstract dev team.
+
 0.12  19th December 2005, 23:20
-    - removed hidden dependency on Class::DBI ?the test suite.
+    - removed hidden dependency on Class::DBI in the test suite.
 
 0.11  11th October 2005, 12:40
     - re-arranged order of tests in _find_syntax() to avoid the eval 

Modified: trunk/libsql-abstract-limit-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/MANIFEST?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/MANIFEST (original)
+++ trunk/libsql-abstract-limit-perl/MANIFEST Tue Dec 23 14:58:34 2008
@@ -13,3 +13,4 @@
 t/test_data.csv
 t/pod-coverage.t
 t/pod.t
+t/lib/SQL/Abstract/Limit/Test.pm

Modified: trunk/libsql-abstract-limit-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/META.yml?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/META.yml (original)
+++ trunk/libsql-abstract-limit-perl/META.yml Tue Dec 23 14:58:34 2008
@@ -1,8 +1,18 @@
---- #YAML:1.0
-name: SQL-Abstract-Limit
-version: 0.12
-author:
-  - David Baird <cpan at riverside-cms.co.uk>
-abstract: portable LIMIT emulation
-license: perl
-generated_by: Module::Build version 0.2611, without YAML.pm
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
+name:         SQL-Abstract-Limit
+version:      0.14
+version_from: lib/SQL/Abstract/Limit.pm
+installdirs:  site
+requires:
+    Data::Dumper:                  0
+    DBI:                           0
+    Scalar::Util:                  0
+    SQL::Abstract:                 1.2
+    Test::Builder:                 0
+    Test::Deep:                    0
+    Test::Exception:               0
+    Test::More:                    0
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.17

Modified: trunk/libsql-abstract-limit-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/Makefile.PL?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/Makefile.PL (original)
+++ trunk/libsql-abstract-limit-perl/Makefile.PL Tue Dec 23 14:58:34 2008
@@ -2,15 +2,19 @@
 use ExtUtils::MakeMaker;
 WriteMakefile
 (
-          'PL_FILES' => {},
-          'INSTALLDIRS' => 'site',
           'NAME' => 'SQL::Abstract::Limit',
           'VERSION_FROM' => 'lib/SQL/Abstract/Limit.pm',
           'PREREQ_PM' => {
-                           'Test::More' => 0,
+                           'DBI' => '0',
+                           'Data::Dumper' => '0',
                            'SQL::Abstract' => '1.2',
-                           'Test::Exception' => 0,
-                           'DBI' => 0
-                         }
+                           'Scalar::Util' => '0',
+                           'Test::Builder' => '0',
+                           'Test::Deep' => '0',
+                           'Test::Exception' => '0',
+                           'Test::More' => '0'
+                         },
+          'INSTALLDIRS' => 'site',
+          'PL_FILES' => {}
         )
 ;

Modified: trunk/libsql-abstract-limit-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/debian/changelog?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/debian/changelog (original)
+++ trunk/libsql-abstract-limit-perl/debian/changelog Tue Dec 23 14:58:34 2008
@@ -1,3 +1,14 @@
+libsql-abstract-limit-perl (2:0.14-1) UNRELEASED; urgency=low
+
+  * New upstream release
+  * Move package to Debian Perl Group, change proper headers in debian/control
+  * debian/control:
+   + Standards-Version updated to 3.8.0
+  * Upgraded to debhelper (>= 7), debian/compat updated
+  * Use debhelper rules.simple example as debian/rules
+
+ -- Krzysztof Krzyżaniak (eloy) <eloy at debian.org>  Tue, 23 Dec 2008 15:25:41 +0100
+
 libsql-abstract-limit-perl (2:0.12-1) unstable; urgency=low
 
   * New upstream release
@@ -13,12 +24,6 @@
   * New upstream release
 
  -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org>  Fri,  9 Sep 2005 16:22:14 +0200
-
-libsql-abstract-limit-perl (1:0.1-1) UNRELEASED; urgency=low
-
-  * (NOT RELEASED YET) New upstream release
-
- -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org>  Mon,  5 Sep 2005 23:53:49 +0200
 
 libsql-abstract-limit-perl (0.033-3) unstable; urgency=low
 

Modified: trunk/libsql-abstract-limit-perl/debian/compat
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/debian/compat?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/debian/compat (original)
+++ trunk/libsql-abstract-limit-perl/debian/compat Tue Dec 23 14:58:34 2008
@@ -1,1 +1,1 @@
-5
+7

Modified: trunk/libsql-abstract-limit-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/debian/control?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/debian/control (original)
+++ trunk/libsql-abstract-limit-perl/debian/control Tue Dec 23 14:58:34 2008
@@ -1,15 +1,21 @@
 Source: libsql-abstract-limit-perl
 Section: perl
 Priority: optional
-Build-Depends: debhelper (>= 5.0.0), libmodule-build-perl
-Build-Depends-Indep: perl (>= 5.8.0-7),  libsql-abstract-perl, libtest-exception-perl, libdbi-perl, libdbd-anydata-perl, libclass-dbi-perl
-Maintainer: Debian Catalyst Maintainers <pkg-catalyst-maintainers at lists.alioth.debian.org>
-Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>, Florian Ragwitz <rafl at debianforum.de>
-Standards-Version: 3.7.2.1
+Build-Depends: debhelper (>= 7), libmodule-build-perl
+Build-Depends-Indep: perl (>= 5.8.0-7),  libsql-abstract-perl, 
+ libtest-exception-perl, libdbi-perl, libdbd-anydata-perl, libclass-dbi-perl
+Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
+Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>, 
+ Florian Ragwitz <rafl at debianforum.de>
+Standards-Version: 3.8.0
+Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libsql-abstract-limit-perl
+Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libsql-abstract-limit-perl/
+Homepage: http://search.cpan.org/dist/SQL-Abstract-Limit/
+
 
 Package: libsql-abstract-limit-perl
 Architecture: all
 Recommends: libdbd-anydata-perl, libclass-dbi-perl
 Depends: ${perl:Depends}, libsql-abstract-perl, libtest-exception-perl, libdbi-perl
 Description:  portable LIMIT emulation
- SQL::Abstract::Limist is portability layer for SQL LIMIT emulation.
+ SQL::Abstract::Limit is portability layer for SQL LIMIT emulation.

Modified: trunk/libsql-abstract-limit-perl/debian/rules
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/debian/rules?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/debian/rules (original)
+++ trunk/libsql-abstract-limit-perl/debian/rules Tue Dec 23 14:58:34 2008
@@ -1,55 +1,22 @@
 #!/usr/bin/make -f
-
-export PERL_MM_USE_DEFAULT=1
-
-PACKAGE=$(shell dh_listpackages)
-
-ifndef PERL
-PERL = /usr/bin/perl
-endif
-
-TMP     =$(CURDIR)/debian/$(PACKAGE)
 
 build: build-stamp
 build-stamp:
-	dh_testdir
-	$(PERL) Build.PL installdirs=vendor
-	OPTIMIZE="-Wall -O2 -g" $(PERL) Build
+	dh build
 	touch build-stamp
 
 clean:
-	dh_testdir
-	dh_testroot
-	-$(PERL) Build distclean
-	dh_clean build-stamp install-stamp
+	dh clean
 
 install: build install-stamp
 install-stamp:
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	$(PERL) Build test
-	$(PERL) Build install destdir=$(TMP)
+	dh install
 	touch install-stamp
 
-binary-arch:
-# We have nothing to do by default.
+binary-arch: install
 
-binary-indep: build install
-	dh_testdir
-	dh_testroot
-	dh_installdocs README
-	dh_installchangelogs Changes
-	dh_perl
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
 
-source diff:                                                                  
-	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+binary-indep: install
+	dh binary-indep
 
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary
+binary: binary-arch binary-indep

Modified: trunk/libsql-abstract-limit-perl/lib/SQL/Abstract/Limit.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/lib/SQL/Abstract/Limit.pm?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/lib/SQL/Abstract/Limit.pm (original)
+++ trunk/libsql-abstract-limit-perl/lib/SQL/Abstract/Limit.pm Tue Dec 23 14:58:34 2008
@@ -15,7 +15,7 @@
 
 =cut    
 
-our $VERSION = '0.12';
+our $VERSION = '0.14';
 
 # additions / error reports welcome !
 our %SyntaxMap = (  mssql    => 'Top',
@@ -25,7 +25,7 @@
                     db2      => 'FetchFirst',
                     ingres   => '',
                     adabasd  => '',
-                    informix => 'First',
+                    informix => 'Skip',
     
                     # asany    => '',
     
@@ -110,7 +110,7 @@
     Top             SQL/Server, MS Access
     RowNum          Oracle
     FetchFirst      DB2
-    First           Informix    # not implemented yet
+    Skip            Informix
     GenericSubQ     Sybase, plus any databases not recognised by this module
 
     $dbh            a DBI database handle
@@ -953,6 +953,9 @@
 
 =end notes
 
+
+=notes
+
 =item First
 
 =over 8
@@ -968,7 +971,6 @@
 
 =back
 
-=cut
 
 sub _First {
     my ( $self, $sql, $order, $rows, $offset ) = @_;
@@ -979,6 +981,43 @@
     # might need to add to regex in 'where' method
 
 }
+
+=end notes
+
+=cut
+
+=item Skip
+
+=over 8 
+
+=item Syntax
+
+  select skip 5 limit 5 * from customer
+
+which will take rows 6 through 10 in the select.
+  
+=item Databases
+
+Informix
+
+=back
+
+=cut
+
+sub _Skip {
+    my ( $self, $sql, $order, $rows, $offset ) = @_;
+
+    my $last = $rows + $offset;
+    
+    my ( $order_by_up, $order_by_down ) = $self->_order_directions( $order );
+
+    $sql =~ s/^\s*(SELECT|select)//;
+
+    $sql = "select skip $offset limit $rows ".$sql." ".$self->_order_by( $order );
+
+    return $sql;
+}
+
 
 
 1;
@@ -1060,6 +1099,8 @@
 Thanks to Aaron Johnson for the Top syntax model (SQL/Server and MS Access).
 
 Thanks to Emanuele Zeppieri for the IBM DB2 syntax model.
+
+Thanks to Paul Falbe for the Informix implementation.
 
 =head1 TODO
 

Modified: trunk/libsql-abstract-limit-perl/t/01.sql.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/t/01.sql.t?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/t/01.sql.t (original)
+++ trunk/libsql-abstract-limit-perl/t/01.sql.t Tue Dec 23 14:58:34 2008
@@ -3,8 +3,13 @@
 use strict;
 use warnings;
 
-use Test::More tests => 22;
+use Test::More tests => 17;
 use Test::Exception;
+
+use lib qw(t/lib);
+
+# dynamically load SQL::Abstract::Test;
+eval "use SQL::Abstract::Limit::Test; 1" or die $@;
 
 =for notes
 
@@ -44,71 +49,101 @@
 
 my $base_sql = 'requestor, worker, colC, colH FROM TheTable WHERE ( requestor = ? AND status != ? AND ( ( worker = ? ) OR ( worker = ? ) OR ( worker = ? ) ) )';
 
+my @expected_bind = qw/inna completed nwiger rcwe sfz/; 
+
 my $sql_ab = SQL::Abstract::Limit->new( limit_dialect => 'LimitOffset' );
 
 my ( $stmt, @bind );
 
 # LimitOffset
 lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset) } 'select LimitOffset';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
-like( $stmt, qr~^\QSELECT $base_sql ORDER BY pay, age LIMIT $limit OFFSET $offset\E$~, 'complete SQL' );
+
+is_same_sql_bind(
+  $stmt, \@bind, 
+  "SELECT $base_sql ORDER BY pay, age LIMIT $limit OFFSET $offset", \@expected_bind,
+  'LimitOffset SQL',
+);
 
 # LimitXY
 lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'LimitXY' ) } 'select LimitXY';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
-like( $stmt, qr~^\QSELECT $base_sql ORDER BY pay, age LIMIT $offset, $limit\E$~, 'complete SQL' );
+is_same_sql_bind(
+  $stmt, \@bind, 
+  "SELECT $base_sql ORDER BY pay, age LIMIT $offset, $limit", \@expected_bind,
+  'LimitXY SQL',
+);
 
 # RowsTo
-lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'RowsTo' ) } 'select LimitXY';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
-like( $stmt, qr~^\QSELECT $base_sql ORDER BY pay, age ROWS $offset TO $last\E$~, 'complete SQL' );
+lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'RowsTo' ) } 'select RowsTo';
+is_same_sql_bind(
+  $stmt, \@bind, 
+  "SELECT $base_sql ORDER BY pay, age ROWS $offset TO $last", \@expected_bind,
+  'RowsTo SQL',
+);
 
-
-### TODO - regexes to match full query ###
 
 # Top
 lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'Top' ) } 'select Top';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
 
-TODO: {
-    local $TODO = 'need regex for complex query';
-    like( $stmt, qr~^\Qcomplete SQL\E$~, 'complete SQL' );
-}
+is_same_sql_bind(
+  $stmt, \@bind,
+  "SELECT * FROM ("
+ .  "SELECT TOP $limit * FROM ("
+ .     "SELECT TOP $last $base_sql ORDER BY pay ASC, age ASC"
+ .  ") AS foo ORDER BY pay DESC, age DESC"
+ .") AS bar ORDER BY pay ASC, age ASC", \@expected_bind,
+  'Top SQL',
+);
+
+
 
 # RowNum
 lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'RowNum' ) } 'select RowNum';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
 
-TODO: {
-    local $TODO = 'need regex for complex query';
-    like( $stmt, qr~^\Qcomplete SQL\E$~, 'complete SQL' );
-}
+is_same_sql_bind(
+  $stmt, \@bind,
+  "SELECT * FROM ("
+ .  "SELECT A.*, ROWNUM r FROM ("
+ .     "SELECT $base_sql ORDER BY pay, age"
+ .  ") A WHERE ROWNUM < @{[$last + 1]}"
+ .") B WHERE r >= @{[$offset + 1]}", \@expected_bind,
+  'RowNum SQL',
+);
+
+
 
 # GenericSubQ
 lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'GenericSubQ' ) } 'select GenericSubQ';
-my $gen_q_base_sql = $base_sql;
-$gen_q_base_sql =~ s/TheTable/TheTable X/;
-like( $stmt, qr~\Q$gen_q_base_sql\E~, 'GenericSubQ SQL' );
+(my $gen_q_base_sql = $base_sql) =~ s/TheTable/TheTable X/;
 
-TODO: {
-    local $TODO = 'need regex for complex query';
-    like( $stmt, qr~^\Qcomplete SQL\E$~, 'complete SQL' );
-}
+is_same_sql_bind(
+  $stmt, \@bind,
+  "SELECT $gen_q_base_sql AND"
+ .  "(SELECT COUNT(*) FROM TheTable WHERE requestor > X.requestor)"
+ .  "  BETWEEN $offset AND $last ORDER BY requestor DESC", \@expected_bind,
+  'GenericSubQ SQL',
+);
+
 
 # FetchFirst
-lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'FetchFirst' ) } 'select GenericSubQ';
-like( $stmt, qr~\Q$base_sql\E~, 'base SQL' );
+lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'FetchFirst' ) } 'select FetchFirst';
 
-TODO: {
-    local $TODO = 'need regex for complex query';
-    like( $stmt, qr~^\Qcomplete SQL\E$~, 'complete SQL' );
-}
+is_same_sql_bind(
+  $stmt, \@bind,
+  "SELECT * FROM ("
+ .  "SELECT * FROM ("
+ .    "SELECT $base_sql ORDER BY pay ASC, age ASC FETCH FIRST $last ROWS ONLY"
+ .    ") foo ORDER BY pay DESC, age DESC FETCH FIRST $limit ROWS ONLY"
+ .  ") bar ORDER BY pay ASC, age ASC", \@expected_bind,
+  'FetchFirst SQL',
+);
+
+# Skip
+lives_ok { ( $stmt, @bind ) = $sql_ab->select( $table, $fields, $where, $order, $limit, $offset, 'Skip' ) } 'select Skip';
+
+is_same_sql_bind(
+  $stmt, \@bind,
+  "select skip $offset limit $limit $base_sql ORDER BY pay, age", \@expected_bind,
+  'Skip SQL',
+);
 
 
-
-
-#warn "\n\n" . $stmt;
-#warn join( ', ', @bind ) . "\n\n";
-#
-#
-warn " *** not yet testing subquery LIMIT emulations\n";

Modified: trunk/libsql-abstract-limit-perl/t/02.syntax.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libsql-abstract-limit-perl/t/02.syntax.t?rev=28572&op=diff
==============================================================================
--- trunk/libsql-abstract-limit-perl/t/02.syntax.t (original)
+++ trunk/libsql-abstract-limit-perl/t/02.syntax.t Tue Dec 23 14:58:34 2008
@@ -24,7 +24,7 @@
     Top             SQL/Server, MS Access
     RowNum          Oracle
     FetchFirst      DB2         # not implemented yet
-    First           Informix    # not implemented yet
+    Skip            Informix    
     GenericSubQ     Sybase, plus any databases not recognised by this module
 
     $dbh            a DBI database handle




More information about the Pkg-perl-cvs-commits mailing list