r44152 - in /branches/upstream/libhtml-packer-perl: ./ current/ current/lib/ current/lib/HTML/ current/t/ current/t/html/
emhn-guest at users.alioth.debian.org
emhn-guest at users.alioth.debian.org
Wed Sep 16 17:34:34 UTC 2009
Author: emhn-guest
Date: Wed Sep 16 17:34:26 2009
New Revision: 44152
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=44152
Log:
[svn-inject] Installing original source of libhtml-packer-perl
Added:
branches/upstream/libhtml-packer-perl/
branches/upstream/libhtml-packer-perl/current/
branches/upstream/libhtml-packer-perl/current/.cvsignore
branches/upstream/libhtml-packer-perl/current/Changes
branches/upstream/libhtml-packer-perl/current/MANIFEST
branches/upstream/libhtml-packer-perl/current/META.yml
branches/upstream/libhtml-packer-perl/current/Makefile.PL
branches/upstream/libhtml-packer-perl/current/README
branches/upstream/libhtml-packer-perl/current/lib/
branches/upstream/libhtml-packer-perl/current/lib/HTML/
branches/upstream/libhtml-packer-perl/current/lib/HTML/Packer.pm
branches/upstream/libhtml-packer-perl/current/t/
branches/upstream/libhtml-packer-perl/current/t/00-load.t
branches/upstream/libhtml-packer-perl/current/t/01-io.t
branches/upstream/libhtml-packer-perl/current/t/html/
branches/upstream/libhtml-packer-perl/current/t/html/s1-expected.html
branches/upstream/libhtml-packer-perl/current/t/html/s1.html
branches/upstream/libhtml-packer-perl/current/t/html/s2-expected.html
branches/upstream/libhtml-packer-perl/current/t/html/s2.html
branches/upstream/libhtml-packer-perl/current/t/html/s3-expected.html
branches/upstream/libhtml-packer-perl/current/t/html/s3.html
branches/upstream/libhtml-packer-perl/current/t/pod.t
Added: branches/upstream/libhtml-packer-perl/current/.cvsignore
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/.cvsignore?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/.cvsignore (added)
+++ branches/upstream/libhtml-packer-perl/current/.cvsignore Wed Sep 16 17:34:26 2009
@@ -1,0 +1,10 @@
+blib*
+Makefile
+Makefile.old
+Build
+_build*
+pm_to_blib*
+*.tar.gz
+.lwpcookies
+HTML-Packer-*
+cover_db
Added: branches/upstream/libhtml-packer-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/Changes?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/Changes (added)
+++ branches/upstream/libhtml-packer-perl/current/Changes Wed Sep 16 17:34:26 2009
@@ -1,0 +1,14 @@
+Revision history for HTML-Packer
+
+0.1 2009-02-09
+ First version, released on an unsuspecting world.
+
+0.2 2009-02-10
+ Added some tests
+
+0.3 2009-02-11
+ Typo fix in documentation
+
+0.4 2009-02-15
+ - Another embarrassing typo fix in documentation
+ - Updated README file
Added: branches/upstream/libhtml-packer-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/MANIFEST?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/MANIFEST (added)
+++ branches/upstream/libhtml-packer-perl/current/MANIFEST Wed Sep 16 17:34:26 2009
@@ -1,0 +1,16 @@
+.cvsignore
+Changes
+lib/HTML/Packer.pm
+Makefile.PL
+MANIFEST
+README
+t/00-load.t
+t/01-io.t
+t/html/s1-expected.html
+t/html/s1.html
+t/html/s2-expected.html
+t/html/s2.html
+t/html/s3-expected.html
+t/html/s3.html
+t/pod.t
+META.yml Module meta-data (added by MakeMaker)
Added: branches/upstream/libhtml-packer-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/META.yml?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/META.yml (added)
+++ branches/upstream/libhtml-packer-perl/current/META.yml Wed Sep 16 17:34:26 2009
@@ -1,0 +1,14 @@
+--- #YAML:1.0
+name: HTML-Packer
+version: 0.4
+abstract: Another HTML code cleaner
+license: perl
+author:
+ - Merten Falk <nevesenin at cpan.org>
+generated_by: ExtUtils::MakeMaker version 6.42
+distribution_type: module
+requires:
+ Test::More: 0
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.3.html
+ version: 1.3
Added: branches/upstream/libhtml-packer-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/Makefile.PL?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/Makefile.PL (added)
+++ branches/upstream/libhtml-packer-perl/current/Makefile.PL Wed Sep 16 17:34:26 2009
@@ -1,0 +1,20 @@
+use 5.008;
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+ NAME => 'HTML::Packer',
+ AUTHOR => 'Merten Falk <nevesenin at cpan.org>',
+ VERSION_FROM => 'lib/HTML/Packer.pm',
+ ABSTRACT_FROM => 'lib/HTML/Packer.pm',
+ ($ExtUtils::MakeMaker::VERSION >= 6.3002
+ ? ('LICENSE'=> 'perl')
+ : ()),
+ PL_FILES => {},
+ PREREQ_PM => {
+ 'Test::More' => 0,
+ },
+ dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
+ clean => { FILES => 'HTML-Packer-*' },
+);
Added: branches/upstream/libhtml-packer-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/README?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/README (added)
+++ branches/upstream/libhtml-packer-perl/current/README Wed Sep 16 17:34:26 2009
@@ -1,0 +1,54 @@
+HTML-Packer
+
+The README is used to introduce the module and provide instructions on
+how to install the module, any machine dependencies it may have (for
+example C compilers and installed libraries) and any other information
+that should be provided before the module is installed.
+
+A README file is required for CPAN modules since CPAN extracts the README
+file from a module distribution so that people browsing the archive
+can use it to get an idea of the module's uses. It is usually a good idea
+to provide version information here so that people can decide whether
+fixes for the module are worth downloading.
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+To use compression for JavaScript parts install JavaScript::Packer.
+To use compression for CSS parts install CSS::Packer.
+
+SUPPORT AND DOCUMENTATION
+
+After installing, you can find documentation for this module with the
+perldoc command.
+
+ perldoc HTML::Packer
+
+You can also look for information at:
+
+ RT, CPAN's request tracker
+ http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-Packer
+
+ AnnoCPAN, Annotated CPAN documentation
+ http://annocpan.org/dist/HTML-Packer
+
+ CPAN Ratings
+ http://cpanratings.perl.org/d/HTML-Packer
+
+ Search CPAN
+ http://search.cpan.org/dist/HTML-Packer/
+
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2008 Merten Falk
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
Added: branches/upstream/libhtml-packer-perl/current/lib/HTML/Packer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/lib/HTML/Packer.pm?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/lib/HTML/Packer.pm (added)
+++ branches/upstream/libhtml-packer-perl/current/lib/HTML/Packer.pm Wed Sep 16 17:34:26 2009
@@ -1,0 +1,220 @@
+package HTML::Packer;
+
+use 5.008;
+use strict;
+use warnings;
+use Carp;
+
+use vars qw/$VERSION $PLACEHOLDER/;
+
+$VERSION = '0.4';
+
+$PLACEHOLDER = 'hp_';
+
+# -----------------------------------------------------------------------------
+
+sub minify {
+# Some regular expressions are from HTML::Clean
+ my ( $scalarref, $opts ) = @_;
+
+ if ( ref( $scalarref ) ne 'SCALAR' ) {
+ carp( 'First argument must be a scalarref!' );
+ return '';
+ }
+
+ return '' if ( ${$scalarref} eq '' );
+
+ if ( ref( $opts ) ne 'HASH' ) {
+ carp( 'Second argument must be a hashref of options! Using defaults!' ) if ( $opts );
+ $opts = {
+ 'remove_comments' => 0,
+ 'remove_newlines' => 0,
+ 'do_javascript' => '', # minify, shrink, base62
+ 'do_stylesheet' => '', # pretty, minify
+ };
+ }
+ else {
+ $opts->{'remove_comments'} = $opts->{'remove_comments'} ? 1 : 0;
+ $opts->{'remove_newlines'} = $opts->{'remove_newlines'} ? 1 : 0;
+ $opts->{'do_javascript'} = grep( $opts->{'do_javascript'}, ( 'minify', 'shrink', 'base62' ) ) ? $opts->{'do_javascript'} : '';
+ $opts->{'do_stylesheet'} = grep( $opts->{'do_stylesheet'}, ( 'minify', 'pretty' ) ) ? $opts->{'do_stylesheet'} : '';
+ }
+
+ if ( $opts->{'do_javascript'} ) {
+ eval( 'require JavaScript::Packer;' );
+
+ if ( $@ ) {
+ $opts->{'do_javascript'} = '';
+ }
+ }
+ if ( $opts->{'do_stylesheet'} ) {
+ eval( 'require CSS::Packer;' );
+
+ if ( $@ ) {
+ $opts->{'do_stylesheet'} = '';
+ }
+ }
+
+ ${$scalarref} =~ s/<!--~\Q$PLACEHOLDER\E\d+~-->//gsm;
+ ${$scalarref} =~ s/<!--([^#].*?)?-->//gsm if ( $opts->{'remove_comments'} );
+
+ my $unclean = {};
+
+ my $_replace_unclean = sub {
+ my ( $opening, $content, $closing ) = @_;
+
+ return '' unless ( $opening );
+
+ my $key = $PLACEHOLDER . scalar( keys( %$unclean ) );
+
+ if ( not $content and not $closing ) {
+ $unclean->{$key} = $opening;
+ }
+ else {
+ if ( $content ) {
+ if ( $opening =~ /<\s*script[^>]*(?:java|ecma)script[^>]*>/ and $opts->{'do_javascript'} ) {
+ JavaScript::Packer::minify( \$content, { 'compress' => $opts->{'do_javascript'} } );
+ $content = '/*<![CDATA[*/' . $content . '/*]]>*/';
+ }
+ elsif ( $opening =~ /<\s*style[^>]*text\/css[^>]*>/ and $opts->{'do_stylesheet'} ) {
+ CSS::Packer::minify( \$content, { 'compress' => $opts->{'do_stylesheet'} } );
+ }
+ }
+ else {
+ $content = '';
+ }
+ $opening =~ s/[^\S\n]{2,}/ /msg;
+ $opening =~ s/\s+>/>/sgm;
+ $opening =~ s/<\s+/</sgm;
+ $closing =~ s/[^\S\n]{2,}/ /msg;
+ $closing =~ s/\s+>/>/sgm;
+ $closing =~ s/<\s+/</sgm;
+ $closing =~ s/<\/\s+/<\//sgm;
+
+ $unclean->{$key} = $opening . $content . $closing;
+ }
+
+ return '<!--~' . $key . '~-->';
+ };
+
+ ${$scalarref} =~ s/(<\!DOCTYPE[^>]*>)/&$_replace_unclean( $& )/xmse;
+
+ ${$scalarref} =~ s/(<\s*(pre|code|textarea|script|style)[^>]*>)(.*?)(<\s*\/\2[^>]*>)/&$_replace_unclean( $1, $3, $4 )/gmsie;
+
+ my @tags = (
+ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', 'button', 'cite',
+ 'del', 'dfn', 'em', 'font', 'i', 'input', 'ins', 'kbd', 'label', 'q',
+ 's', 'samp', 'select', 'small', 'strike', 'strong', 'sub', 'sup', 'u', 'var'
+ );
+
+ ${$scalarref} =~ s/^\s*//sg;
+ ${$scalarref} =~ s/\s*$//sg;
+ ${$scalarref} =~ s/[^\S\n]*$//smg;
+ ${$scalarref} =~ s/^[^\S\n]*//smg;
+ ${$scalarref} =~ s/[^\S\n]*\n/\n/sg;
+ ${$scalarref} =~ s/[^\S\n]{2,}/ /sg;
+ ${$scalarref} =~ s/\n{2,}/\n/sg;
+ ${$scalarref} =~ s/\s+>/>/sg;
+ ${$scalarref} =~ s/<\s+/</sg;
+ ${$scalarref} =~ s/<\/\s+/<\//sg;
+
+ if ( $opts->{'remove_newlines'} ) {
+ foreach ( @tags ) {
+ ${$scalarref} =~ s/[^\S]+(<\s*\/?\s*\Q$_\E( [^>]*)?>)/ $1/ismg;
+ ${$scalarref} =~ s/(<\s*\/?\s*\Q$_\E( [^>]*)?>)[^\S]+/$1 /ismg;
+ }
+
+ ${$scalarref} =~ s/>\n</></g;
+ ${$scalarref} =~ s/([^>])\n</$1</g;
+ ${$scalarref} =~ s/>\n([^<])/>$1/g;
+ ${$scalarref} =~ s/(\w)\n(\w)/$1 $2/g;
+ ${$scalarref} =~ s/([^>])\n([^>])/$1 $2/g;
+ ${$scalarref} =~ s/\n//g;
+ }
+
+ ${$scalarref} =~ s/<!--~(\Q$PLACEHOLDER\E\d+)~-->/$unclean->{$1}/gsme;
+
+ ${$scalarref} =~ s/[^\S\n]*(<!--([^#].*?)?-->)[^\S\n]*/$1/gsm unless ( $opts->{'remove_comments'} );
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+HTML::Packer - Another HTML code cleaner
+
+=head1 VERSION
+
+Version 0.4
+
+=head1 SYNOPSIS
+
+ use HTML::Packer;
+
+ HTML::Packer::minify( $scalarref, $opts );
+
+=head1 DESCRIPTION
+
+A HTML Compressor.
+
+=head1 FUNCTIONS
+
+=head2 HTML::Packer::minify( $scalarref, $opts );
+
+First argument must be a scalarref of HTML-Code.
+Second argument must be a hashref of options. Possible options are
+
+=over 4
+
+=item remove_comments
+
+HTML-Comments will be removed if 'remove_comments' has a true value.
+
+=item remove_newlines
+
+ALL newlines will be removed if 'remove_newlines' has a true value.
+
+=item do_javascript
+
+Defines compression level for javascript. Possible values are 'minify', 'shrink' and 'base62'.
+Default is no compression for javascript.
+This option only takes effect if L<JavaScript::Packer> is installed.
+
+=item do_stylesheet
+
+Defines compression level for CSS. Possible values are 'minify' and 'pretty'.
+Default is no compression for CSS.
+This option only takes effect if L<CSS::Packer> is installed.
+
+=back
+
+=head1 AUTHOR
+
+Merten Falk, C<< <nevesenin at cpan.org> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests to C<bug-html-packer at rt.cpan.org>, or through
+the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=HTML-Packer>. I will be notified, and then you'll
+automatically be notified of progress on your bug as I make changes.
+
+=head1 SUPPORT
+
+You can find documentation for this module with the perldoc command.
+
+perldoc HTML::Packer
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009 Merten Falk, all rights reserved.
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<HTML::Clean>
+
+=cut
Added: branches/upstream/libhtml-packer-perl/current/t/00-load.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/00-load.t?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/00-load.t (added)
+++ branches/upstream/libhtml-packer-perl/current/t/00-load.t Wed Sep 16 17:34:26 2009
@@ -1,0 +1,9 @@
+#!perl -T
+
+use Test::More tests => 1;
+
+BEGIN {
+ use_ok( 'HTML::Packer' );
+}
+
+diag( "Testing HTML::Packer $HTML::Packer::VERSION, Perl $], $^X" );
Added: branches/upstream/libhtml-packer-perl/current/t/01-io.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/01-io.t?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/01-io.t (added)
+++ branches/upstream/libhtml-packer-perl/current/t/01-io.t Wed Sep 16 17:34:26 2009
@@ -1,0 +1,63 @@
+#!perl -T
+
+# =========================================================================== #
+
+use Test::More;
+
+my $not = 3;
+
+SKIP: {
+ eval( 'use HTML::Packer;' );
+
+ skip( 'HTML::Packer not installed!', $not ) if ( $@ );
+
+ plan tests => $not;
+
+ minTest( 's1' );
+ minTest( 's2', { 'remove_newlines' => 1 } );
+ minTest( 's3', { 'remove_comments' => 1 } );
+}
+
+sub filesMatch {
+ my $file1 = shift;
+ my $file2 = shift;
+ my $a;
+ my $b;
+
+ while (1) {
+ $a = getc($file1);
+ $b = getc($file2);
+
+ if (!defined($a) && !defined($b)) { # both files end at same place
+ return 1;
+ }
+ elsif (
+ !defined($b) || # file2 ends first
+ !defined($a) || # file1 ends first
+ $a ne $b
+ ) { # a and b not the same
+ return 0;
+ }
+ }
+}
+
+sub minTest {
+ my $filename = shift;
+ my $opts = shift || {};
+
+ open(INFILE, 't/html/' . $filename . '.html') or die("couldn't open file");
+ open(GOTFILE, '>t/html/' . $filename . '-got.html') or die("couldn't open file");
+
+ my $html = join( '', <INFILE> );
+ HTML::Packer::minify( \$html, $opts );
+ print GOTFILE $html;
+ close(INFILE);
+ close(GOTFILE);
+
+ open(EXPECTEDFILE, 't/html/' . $filename . '-expected.html') or die("couldn't open file");
+ open(GOTFILE, 't/html/' . $filename . '-got.html') or die("couldn't open file");
+ ok(filesMatch(GOTFILE, EXPECTEDFILE));
+ close(EXPECTEDFILE);
+ close(GOTFILE);
+}
+
Added: branches/upstream/libhtml-packer-perl/current/t/html/s1-expected.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s1-expected.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s1-expected.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s1-expected.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,5 @@
+<a href="/">link
+1 </a>
+<!-- comment -->
+<a href="/"> link 2
+</a>
Added: branches/upstream/libhtml-packer-perl/current/t/html/s1.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s1.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s1.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s1.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,13 @@
+
+
+<a href="/" >link
+
+1 < /a>
+
+
+<!-- comment -->
+
+ < a href="/"> link 2
+ < / a >
+
+
Added: branches/upstream/libhtml-packer-perl/current/t/html/s2-expected.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s2-expected.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s2-expected.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s2-expected.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,1 @@
+<a href="/">link 1 </a><!-- comment --><a href="/"> link 2 </a>
Added: branches/upstream/libhtml-packer-perl/current/t/html/s2.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s2.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s2.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s2.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,13 @@
+
+
+<a href="/" >link
+
+1 < /a>
+
+
+<!-- comment -->
+
+ < a href="/"> link 2
+ < / a >
+
+
Added: branches/upstream/libhtml-packer-perl/current/t/html/s3-expected.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s3-expected.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s3-expected.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s3-expected.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,4 @@
+<a href="/">link
+1 </a>
+<a href="/"> link 2
+</a>
Added: branches/upstream/libhtml-packer-perl/current/t/html/s3.html
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/html/s3.html?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/html/s3.html (added)
+++ branches/upstream/libhtml-packer-perl/current/t/html/s3.html Wed Sep 16 17:34:26 2009
@@ -1,0 +1,13 @@
+
+
+<a href="/" >link
+
+1 < /a>
+
+
+<!-- comment -->
+
+ < a href="/"> link 2
+ < / a >
+
+
Added: branches/upstream/libhtml-packer-perl/current/t/pod.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libhtml-packer-perl/current/t/pod.t?rev=44152&op=file
==============================================================================
--- branches/upstream/libhtml-packer-perl/current/t/pod.t (added)
+++ branches/upstream/libhtml-packer-perl/current/t/pod.t Wed Sep 16 17:34:26 2009
@@ -1,0 +1,12 @@
+#!perl -T
+
+use strict;
+use warnings;
+use Test::More;
+
+# Ensure a recent version of Test::Pod
+my $min_tp = 1.22;
+eval "use Test::Pod $min_tp";
+plan skip_all => "Test::Pod $min_tp required for testing POD" if $@;
+
+all_pod_files_ok();
More information about the Pkg-perl-cvs-commits
mailing list