]>
git.madduck.net Git - code/myrepos.git/blobdiff - mr
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
if (exists $config{$topdir}{$subdir}{deleted}) {
if (! -d $dir) {
if (exists $config{$topdir}{$subdir}{deleted}) {
if (! -d $dir) {
}
else {
my $test="set -e;".$lib.$config{$topdir}{$subdir}{deleted};
}
else {
my $test="set -e;".$lib.$config{$topdir}{$subdir}{deleted};
+ if (! -e $f) {
+ return;
+ }
+
my $absf=abs_path($f);
if ($loaded{$absf}) {
return;
my $absf=abs_path($f);
if ($loaded{$absf}) {
return;
my %changefields=@_;
my @lines;
my %changefields=@_;
my @lines;
if (-e $f) {
open(my $in, "<", $f) || die "mr: open $f: $!\n";
@lines=<$in>;
close $in;
}
if (-e $f) {
open(my $in, "<", $f) || die "mr: open $f: $!\n";
@lines=<$in>;
close $in;
}
+ my $addfields=sub {
+ my @blanks;
+ while ($out[$#out] =~ /^\s*$/) {
+ unshift @blanks, pop @out;
+ }
+ foreach my $field (sort keys %changefields) {
+ if (length $changefields{$field}) {
+ push @out, "$field = $changefields{$field}\n";
+ }
+ }
+ push @out, @blanks;
+ };
+
while (@lines) {
$_=shift(@lines);
while (@lines) {
$_=shift(@lines);
elsif (/^\s*\[([^\]]*)\]\s*$/) {
if (defined $section &&
$section eq $targetsection) {
elsif (/^\s*\[([^\]]*)\]\s*$/) {
if (defined $section &&
$section eq $targetsection) {
- my @blanks;
- while ($out[$#out] =~ /^\s*$/) {
- unshift @blanks, pop @out;
- }
- foreach my $field (sort keys %changefields) {
- if (length $changefields{$field}) {
- push @out, "$field = $changefields{$field}\n";
- }
- }
- push @out, @blanks;
+ if (defined $section &&
+ $section eq $targetsection) {
+ $addfields->();
+ }
+ elsif (%changefields) {
push @out, "\n[$targetsection]\n";
foreach my $field (sort keys %changefields) {
if (length $changefields{$field}) {
push @out, "\n[$targetsection]\n";
foreach my $field (sort keys %changefields) {
if (length $changefields{$field}) {