summaryrefslogtreecommitdiff
path: root/perl5
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2020-02-10 17:09:53 -0700
committerSean Whitton <spwhitton@spwhitton.name>2020-02-10 17:09:53 -0700
commit93836b0328662f64d448d910ae6b4b40ab585033 (patch)
treeeae3f69ec9274f63fac34a38bec1a3eea9183744 /perl5
parent7ffb6a1092dde1f42825423f74f1650ceec4a6a3 (diff)
downloaddotfiles-93836b0328662f64d448d910ae6b4b40ab585033.tar.gz
filter out some invalid warnings
Diffstat (limited to 'perl5')
-rw-r--r--perl5/Local/Homedir.pm14
1 files changed, 11 insertions, 3 deletions
diff --git a/perl5/Local/Homedir.pm b/perl5/Local/Homedir.pm
index 63b37fb0..09183909 100644
--- a/perl5/Local/Homedir.pm
+++ b/perl5/Local/Homedir.pm
@@ -40,10 +40,18 @@ sub normalise_mrconfig {
my %master_blocks = blocks_from_file($master);
my %target_blocks = -f $target ? blocks_from_file($target) : ();
+
+ my $warning = "DO NOT EDIT THIS BLOCK; automatically updated from";
+
+ # filter out any DO NOT EDIT comments because if these blocks were
+ # removed from ~/.mrconfig.in but the repos are still present on
+ # this machine, those lines would be misleading
+ $target_blocks{$_} =~ s/^# ($warning| $master)\n//mg
+ for keys %target_blocks;
+
for (keys %master_blocks) {
- $target_blocks{$_} =
- "# DO NOT EDIT THIS BLOCK; automatically updated from\n# $master\n"
- . join "\n", grep !/^\s*#|^\s*$/, split "\n", $master_blocks{$_};
+ $target_blocks{$_} = "# $warning\n# $master\n" . join "\n",
+ grep !/^\s*#|^\s*$/, split "\n", $master_blocks{$_};
}
open my $fh, '>', $target;