Compare commits

..

No commits in common. "a26764fd2f61ffa32824c7f09dfac78d8a37b6de" and "15829202862ed5bf6cc04aeb9144dedf33912608" have entirely different histories.

9 changed files with 21 additions and 53 deletions

View file

@ -8,9 +8,9 @@ Object for abstracting management of a hashed filesystem
=cut =cut
# :squash-remove-start: # :squash-ignore-start:
require Directory::Simplify::File; require Directory::Simplify::File;
# :squash-remove-end: # :squash-ignore-end:
sub new { sub new {
my $class = shift; my $class = shift;

View file

@ -4,9 +4,9 @@ use strict;
use warnings; use warnings;
use overload '""' => 'as_string'; use overload '""' => 'as_string';
# :squash-remove-start: # :squash-ignore-start:
require Directory::Simplify::Utils; require Directory::Simplify::Utils;
# :squash-remove-end: # :squash-ignore-end:
sub new { sub new {
my $class = shift; my $class = shift;

View file

@ -6,10 +6,10 @@ use overload '""' => 'as_string';
use File::Basename qw/ dirname /; use File::Basename qw/ dirname /;
use File::Compare qw/ compare /; use File::Compare qw/ compare /;
# :squash-remove-start: # :squash-ignore-start:
require Directory::Simplify::Instruction::CopyTimestamp; require Directory::Simplify::Instruction::CopyTimestamp;
require Directory::Simplify::Instruction::Hardlink; require Directory::Simplify::Instruction::Hardlink;
# :squash-remove-end: # :squash-ignore-end:
sub new { sub new {
my $class = shift; my $class = shift;

View file

@ -4,9 +4,9 @@ use strict;
use warnings; use warnings;
use overload '""' => 'as_string'; use overload '""' => 'as_string';
# :squash-remove-start: # :squash-ignore-start:
require Directory::Simplify::Utils; require Directory::Simplify::Utils;
# :squash-remove-end: # :squash-ignore-end:
sub new { sub new {
my $class = shift; my $class = shift;

View file

@ -8,6 +8,6 @@ echo "Outputting to $OUT" >&2
shopt -s globstar shopt -s globstar
"$WORKDIR/util/squash" \ "$WORKDIR/util/squash" \
"$WORKDIR/simplify_static_dir-main.pl" \ "$WORKDIR/simplify_static_dir-main.pl" \
"$WORKDIR"/lib/**/*.pm \ "$WORKDIR"/**/*.pm \
> "$OUT" > "$OUT"
chmod +x -- "$OUT" chmod +x -- "$OUT"

View file

@ -104,16 +104,16 @@ use File::Find qw/ find /;
use Getopt::Std qw/ getopts /; use Getopt::Std qw/ getopts /;
use Pod::Usage qw/ pod2usage /; use Pod::Usage qw/ pod2usage /;
# :squash-remove-start: # :squash-ignore-start:
# (this prepends to the load path) # (this prepends to the load path)
use FindBin qw//; use FindBin qw//;
use lib "$FindBin::RealBin/lib"; use lib $FindBin::RealBin;
require Directory::Simplify::File; require Directory::Simplify::File;
require Directory::Simplify::FileHash; require Directory::Simplify::FileHash;
require Directory::Simplify::Instruction::Generator; require Directory::Simplify::Instruction::Generator;
require Directory::Simplify::Utils; require Directory::Simplify::Utils;
# :squash-remove-end: # :squash-ignore-end:
sub HELP_MESSAGE { sub HELP_MESSAGE {
my $fh = shift; my $fh = shift;

View file

@ -18,48 +18,17 @@ for my $arg (@ARGV) {
warn "Reading $filename\n"; warn "Reading $filename\n";
open my $fh, '<', $filename or die "Can't open $filename: $!"; open my $fh, '<', $filename or die "Can't open $filename: $!";
my $in_pod = 0; my $in_pod = 0;
my $in_section = ''; my $in_ignore_section = 0;
my $ignore_lines = 0;
my $empty_lines = 0;
while (<$fh>) { while (<$fh>) {
if (/#.*:squash-ignore-start:$/) { if (/#.*:squash-ignore-start:$/) {
$in_section = 'ignore'; $in_ignore_section = 1;
$ignore_lines = 1; next;
} elsif (/#.*:squash-ignore-end:$/) { } elsif (/#.*:squash-ignore-end:$/) {
$in_section = ''; $in_ignore_section = 0;
$ignore_lines = 1;
}
if ($ignore_lines > 0) {
$ignore_lines--;
next; next;
} }
next if $in_ignore_section;
if ($in_section eq 'ignore') { next if /#.*:squash-ignore-line:$/;
$empty_lines = 0 unless /^$/;
$code .= $_;
next;
}
# Remove repeated newlines between paragraphs
# (Provided of course we're not in an 'ignore' section)
if (/^$/) {
++$empty_lines;
if ($empty_lines > 1) {
next;
}
} else {
$empty_lines = 0;
}
if (/#.*:squash-remove-start:$/) {
$in_section = 'remove';
next;
} elsif (/#.*:squash-remove-end:$/) {
$in_section = '';
next;
}
next if $in_section eq 'remove';
next if /#.*:squash-remove-line:$/;
next if /^\s*1;$/; next if /^\s*1;$/;
@ -80,13 +49,12 @@ for my $arg (@ARGV) {
s{\s*##.+critic.*}{}; s{\s*##.+critic.*}{};
$code .= $_; $code .= $_;
} }
# Warn if there were unterminated :squash-*: sections
warn "$filename: Unterminated :squash-$in_section-start: section" if $in_section;
close $fh; close $fh;
} }
# Remove repeated newlines between paragraphs
$code =~ s/\n\n+/\n\n/gs;
print $code; print $code;
exit 0; exit 0;