On Fri, 07 Mar 2008, Anthony Towns wrote: > On Tue, Mar 04, 2008 at 12:28:51AM -0800, Don Armstrong wrote: > > -done basically means "I'm the maintainer of this package, and > > I've done what I needed to do to this bug." > > Except it doesn't mean that anymore as soon as debbugs receives a > command like: > > found $BUG $UNSTABLE_VER
It does if you issue this command, as 'found' with a version greater than the greatest fixed version reopens the bug. [That is, it unsets -done.] > or > > notfixed $BUG $UNSTABLE_VER > > It's good to have a *command* for "I'm the maintainer of this > package (or the submitter of this bug), and this bug is DONE.", but > using the done field for that just doesn't work right anymore. I think that it can, and should, actually. In the cases where there's a found version that is greater than the fixed version, the bug is no longer done, and should be shown as such. > > A much simpler method would be to disallow unversioned -done if > > there are found versions, > > How about disallowing (or ignoring) versions entirely in > pseudopackages? I already do ignore versions entirely in pseudopackages. [They're there in the bug report, but dist= is ignored for pseudopackages.] > > and mark bugs that have found versions but no fixed versions as > > open even if they have been -done'd. > > The logic's still pretty complicated then. > > We've got a few states: > > - do we have a version from the query, or not? > - is the done-field set? > - is found-in set? > - is fixed-in set? > > With the matrix of done values being: > > !found, fix | found, !fix | both | neither > no query-ver, no done-field DONE | OPEN | ? | OPEN > no query-ver, done-field DONE | OPEN ? | DONE | DONE ^^^^^ > query-ver, no done-field cmp_ver | cmp_ver | cmp_ver | OPEN > query-ver, done-field cmp_ver | cmp_ver | cmp_ver | DONE ^^^^^^^ These are the ones I suggest we change; currently we mark these as done; I suggest that we mark them as done or absent/found. > AFAICS, it's the special cases that bite; whether on implementation or usage. > For example, by the above, if you had: > > stable: 1.0-1 -> 1.0-1etch1 > unstable: 1.0-1 -> 1.0-2 > > and had a bug with found-in: 1.0-1; then adding "fixed-in: 1.0-1etch1" > would close the bug in the no-query-ver view, even though it's still > open in unstable. That's probably confusing, and probably undesirable. If setting fixed sets the -done field, yes. > Having everything be version-tracked including dist-less queries and > pseudopackages changes that to just always using cmp_ver, and > removes the done-field from the logic entirely. We'd still have the done field in the logic because of the cases where there's no versions at all. What I think we should get rid of are the dist-less queries, and perhaps default to dist=unstable;arch=source or some equivalent for dist-less queries. > > This way notfixed would "do the right thing" in making the bug > > appear to be open, but would remain commutative. > > Commutativity's pretty easy -- it just means that if you make > "notfixed" or "found" make a previously-closed bug open again; then > "fixed" or "notfound" have to make a previously-open bug closed. > > That doesn't have to involve changing the done field at all -- ie, > the commands can still just manipulate the fixed/found fields in the > .summary; but if so, the CGIs (and archiving) have to take a > different tack working out what "closed" means, at least in some > cases. Yes, that's exactly what I'm suggesting. The change needed is actually just in bug_presence. > The constraints seem to be: > > - submitter must get a mail when a bug is deemed "closed", even > if that's only by manipulation of fixed-in etc; it mustn't be > possible to go from the bug being open to being archived > without mailing the submitter Right now, we require done to be set before we archive, so they'll get a mail on -done. [I think we should keep this constraint.] > - it must be easy to close bugs on pseudopackages (ie, mail to > -done; no futzing around with control@) This is pretty much done; special casing the change in bug_presence that I'm suggesting for pseudopackages (there's already a special case there for them) is all that needs to be modified. > - there should be an easy way to deal with "notabugs" so they can > be closed without ending up treated as open against any version > of the package For non pseudopackages, this requires using control+done at this moment. [One of my longer term goals is to finish ripping out all of the bug modification commands from service so they can be easily invoked using psuedoheaders from process, so you could just send a single mail to -done (and do other useful things at submit@ time when you don't even know the bug number yet.)] Don Armstrong -- Every gun that is made, every warship launched, every rocket fired signifies in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. This is not a way of life at all in any true sense. Under the clouds of war, it is humanity hanging on a cross of iron. -- Dwight Eisenhower, April 16, 1953 http://www.donarmstrong.com http://rzlab.ucr.edu -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]