Hi James, On Wed, Dec 24, 2025 at 09:52:07AM -0500, James McCoy wrote: > On Wed, Dec 24, 2025 at 09:23:11AM +0100, Daniel Gröber wrote: > > Hi Sebastian, > > > > just the 'notfixed' command should suffice to remove the version tracking > > 'fixed_version' record here. You may be thinking of 'found,notfound' which > > has "interesting" behaviour. In fact 'notfixed' is equivalent to this > > already: > > Maybe you missed that the versions in each command are different? One has an > epoch while the other does not. > > fixed 1123792 1:2.2.1-2 > notfixed 1123792 1.2.2.1-2
Ah! Indeed uncaffeinated brain skipped this. Sadly I already wrote an extensive reply without this insight :> Oh well. This should fix the check being too broad: commit 4494a9833bbda6dafb86d271f445c1cd3a581c0d Author: Daniel Gröber <[email protected]> Date: Wed Dec 24 17:16:42 2025 +0100 bts: Relax fixed/notfixed consistency check to allow fixups (Closes: #1123919) diff --git a/scripts/bts.pl b/scripts/bts.pl index c95e2f92..a7813726 100755 --- a/scripts/bts.pl +++ b/scripts/bts.pl @@ -2259,8 +2259,7 @@ sub bts_done { $donebugs{$bug} = $index; # for bts_fixed, fixup_done_bugs if (length($version)) { - check_fixedbugs($bug); - $fixedbugs{$bug} = $version; + check_fixedbugs($bug, $version); } # Note: Manipulation of globals for mailing happens in fixup_done_bugs. @@ -2638,7 +2637,7 @@ sub bts_fixed { my $version = shift or die "bts fixed: Bug#$bug fixed in which version?\n"; opts_done(@_); - check_fixedbugs($bug); + check_fixedbugs($bug, $version); if (!$offlinemode && !check_versiontracking($bug, $version, 'fixed')) { die @@ -2650,10 +2649,12 @@ sub bts_fixed { } sub check_fixedbugs { - my $bug = shift; - !exists $fixedbugs{$bug} - or die -"bts $shortcmd[$index]: Preceeding command already marked Bug#$bug as fixed in version '$fixedbugs{$bug}'!"; + my ($bug, $version) = @_; + my $prev_ver = $fixedbugs{$bug}; + $prev_ver and $prev_ver eq $version + and die +"bts $shortcmd[$index]: Preceeding command marked Bug#$bug as fixed in version '$prev_ver'!\n Fixed vs. not fixed. Please decide.\n"; + $fixedbugs{$bug} = $version; } =item B<notfixed> [I<bug>] [B<in>|B<by>|B<since>] [I<source-package>B</>]I<version> @@ -2680,7 +2681,7 @@ sub bts_notfixed { my $version = shift or die "bts notfixed: which version?\n"; opts_done(@_); - check_fixedbugs($bug); + check_fixedbugs($bug, $version); $offlinemode or check_versiontracking($bug, $version, 'notfixed'); mailbts("notfixed $bug in $version", "notfixed $bug $version"); Thanks again for the report Sebastian, --Daniel
signature.asc
Description: PGP signature

