]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/service.in
- Make notfound/notfixed log verbiage more clear (closes: #434953)
[debbugs.git] / scripts / service.in
index 74768f34f72d8625108bd093af0b21b25f19ada8..2353b4f242abee8415c1ad5f066586810b3080bc 100755 (executable)
@@ -286,7 +286,7 @@ END
            next;
         }
        if (not $indicated_user and defined $user) {
-            &transcript("User is $user");
+            &transcript("User is $user\n");
             $indicated_user = 1;
        }
        while (++$procline <= $#bodylines) {
@@ -373,7 +373,7 @@ END
            $indicated_user = 1;
         } elsif (&setbug) {
            if (not $indicated_user and defined $user) {
-                &transcript("User is $user");
+                &transcript("User is $user\n");
                 $indicated_user = 1;
            }
            &nochangebug;
@@ -534,8 +534,8 @@ END
             }
         }
     } elsif (m{^found\s+\#?(-?\d+)
-              (?:\s+(?:$config{package_name_re}\/)?
-                   ($config{package_version_re}))?$}ix) {
+              (?:\s+((?:$config{package_name_re}\/)?
+                   $config{package_version_re}))?$}ix) {
         $ok++;
         $ref= $1;
         $version= $2;
@@ -559,10 +559,13 @@ END
                    # than any version in which the bug is fixed or when
                    # a bug is found and there is no fixed version
                    if (defined $version) {
+                       my ($version_only) = $version =~ m{([^/]+)$};
                         addfoundversions($data, $data->{package}, $version, 'binary');
                        my @fixed_order = sort {Debbugs::Versions::Dpkg::vercmp($a,$b);}
-                            @{$data->{fixed_versions}};
-                       if (not @fixed_order or (Debbugs::Versions::Dpkg::vercmp($version,$fixed_order[-1]) >= 0)) {
+                            map {s{.+/}{}; $_;} @{$data->{fixed_versions}};
+                       if (not @fixed_order or (Debbugs::Versions::Dpkg::vercmp($version_only,$fixed_order[-1]) >= 0)) {
+                            $action = "$gBug marked as found in version $version and reopened."
+                                 if length $data->{done};
                             $data->{done} = '';
                        }
                     } else {
@@ -574,12 +577,14 @@ END
                 } while (&getnextbug);
             }
         }
-    } elsif (m/^notfound\s+\#?(-?\d+)\s+(\d.*)$/i) {
+    } elsif (m[^notfound\s+\#?(-?\d+)
+              (?:\s+(?:$config{package_name_re}\/)?
+                   ($config{package_version_re}))$]ix) {
         $ok++;
         $ref= $1;
         $version= $2;
         if (&setbug) {
-            $action= "$gBug marked as not found in version $version.";
+            $action= "$gBug no longer marked as found in version $version.";
             if (length($data->{done})) {
                 $extramessage= "(By the way, this $gBug is currently marked as done.)\n";
             }
@@ -615,7 +620,7 @@ END
         if (&setbug) {
             $action=
                  defined($version) ?
-                      "$gBug marked as not fixed in version $version." :
+                      "$gBug no longer marked as fixed in version $version." :
                            "$gBug reopened.";
                 do {
                     &addmaintainers($data);
@@ -1525,7 +1530,8 @@ sub endmerge {
 sub getbug {
     &dlen("getbug $ref");
     $lowstate eq 'idle' || die "$state ?";
-    if (($data = &lockreadbug($ref))) {
+    # Only use unmerged bugs here
+    if (($data = &lockreadbug($ref,'db-h'))) {
         $sref= $ref;
         $lowstate= "open";
         &dlex("getbug => 1");