chiark / gitweb /
Split brain: Pass $clogp to quiltify_splitbrain (nfc)
[dgit.git] / dgit
diff --git a/dgit b/dgit
index 7b9aa52d2e39453924f6d2df84a90554e912e7f2..29cf5076acd0942d746dda59249ef3c7469115c7 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -70,6 +70,8 @@ our %format_ok = map { $_=>1 } ("1.0","3.0 (native)","3.0 (quilt)");
 our $suite_re = '[-+.0-9a-z]+';
 our $cleanmode_re = 'dpkg-source(?:-d)?|git|git-ff|check|none';
 
+our $git_authline_re = '^([^<>]+) \<(\S+)\> (\d+ [-+]\d+)$';
+
 our (@git) = qw(git);
 our (@dget) = qw(dget);
 our (@curl) = qw(curl -f);
@@ -1316,9 +1318,10 @@ sub clogp_authline ($) {
     $author =~ s#,.*##ms;
     my $date = cmdoutput qw(date), '+%s %z', qw(-d), getfield($clogp,'Date');
     my $authline = "$author $date";
-    $authline =~ m/^[^<>]+ \<\S+\> \d+ [-+]\d+$/ or
+    $authline =~ m/$git_authline_re/o or
        fail "unexpected commit author line format \`$authline'".
        " (was generated from changelog Maintainer field)";
+    return ($1,$2,$3) if wantarray;
     return $authline;
 }
 
@@ -2549,8 +2552,8 @@ sub quiltify_splitbrain_needed () {
     }
 }
 
-sub quiltify_splitbrain ($) {
-    my ($diffbits) = @_;
+sub quiltify_splitbrain ($$) {
+    my ($clogp, $diffbits) = @_;
     if ($quilt_mode !~ m/gbp|dpm/) {
        # treat .gitignore just like any other upstream file
        $diffbits = { %$diffbits };
@@ -3055,7 +3058,7 @@ END
         " --quilt=gbp --quilt=dpm --quilt=unapplied ?";
 
     if ($quilt_mode =~ m/gbp|dpm|unapplied/) {
-       quiltify_splitbrain($diffbits);
+       quiltify_splitbrain($clogp, $diffbits);
        return;
     }