chiark / gitweb /
dgit: gitattributes: Minor refactoring to prep for adding new squash
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 20 Jun 2018 13:08:03 +0000 (14:08 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 20 Jun 2018 13:29:38 +0000 (14:29 +0100)
* is_gitattrs_setup: Break out $gitattrs_ourmacro_re
* is_gitattrs_setup: Reorganise very slightly
* is_gitattrs_setup: Add a debug print
* setup_gitattrs: Introduce $new
* setup_gitattrs: Add a blank line

No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit

diff --git a/dgit b/dgit
index ebf44de..e7a6904 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -3393,13 +3393,17 @@ sub open_main_gitattrs () {
     return $gai;
 }
 
+our $gitattrs_ourmacro_re = qr{^\[attr\]dgit-defuse-attrs\s};
+
 sub is_gitattrs_setup () {
     my $gai = open_main_gitattrs();
     return 0 unless $gai;
     while (<$gai>) {
-       return 1 if m{^\[attr\]dgit-defuse-attrs\s};
+       next unless m{$gitattrs_ourmacro_re};
+       return 1;
     }
     $gai->error and die $!;
+    printdebug "is_gitattrs_setup: found nothing\n";
     return 0;
 }    
 
@@ -3407,19 +3411,22 @@ sub setup_gitattrs (;$) {
     my ($always) = @_;
     return unless $always || access_cfg_bool(1, 'setup-gitattributes');
 
-    if (is_gitattrs_setup()) {
+    my $already = is_gitattrs_setup();
+    if ($already) {
        progress <<END;
 [attr]dgit-defuse-attrs already found in .git/info/attributes
  not doing further gitattributes setup
 END
        return;
     }
+    my $new = "[attr]dgit-defuse-attrs $negate_harmful_gitattrs";
     my $af = "$maindir_gitcommon/info/attributes";
     ensuredir "$maindir_gitcommon/info";
+
     open GAO, "> $af.new" or die $!;
     print GAO <<END or die $!;
 *      dgit-defuse-attrs
-[attr]dgit-defuse-attrs        $negate_harmful_gitattrs
+$new
 # ^ see GITATTRIBUTES in dgit(7) and dgit setup-new-tree in dgit(1)
 END
     my $gai = open_main_gitattrs();