Open Bug 9403 Opened 25 years ago Updated 11 months ago

Marking a bug as duplicate of another bug should mark bugs blocked by it as depending on the other bug

Categories

(Bugzilla :: Creating/Changing Bugs, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: jgmyers, Unassigned)

References

Details

(Whiteboard: [relations:dupl,depend])

Attachments

(3 obsolete files)

If bug A depends on bug B, then bug B is resolved as a duplicate of bug C,
bugzilla should probably change bug A to depend on bug C.
Yeah, but what if it is reopened?  I see dupes being resolved wrong all the
time.  A better policy would be to add the new bug, but not remove the old one,
although there are still some problems with this.
Status: NEW → ASSIGNED
*** Bug 13629 has been marked as a duplicate of this bug. ***
*** Bug 32944 has been marked as a duplicate of this bug. ***
tara@tequilarista.org is the new owner of Bugzilla and Bonsai.  (For details,
see my posting in netscape.public.mozilla.webtools,
news://news.mozilla.org/38F5D90D.F40E8C1A%40geocast.com .)
Assignee: terry → tara
Status: ASSIGNED → NEW
Adding default QA contact to all open Webtools/Bugzilla bugs lacking one.
Sorry for the spam.
QA Contact: matty
Moving this to Future to get off the radar, although I think this should be
WONTFIX.
Target Milestone: --- → Future
Component: Bugzilla → Creating/Changing Bugs
Product: Webtools → Bugzilla
Version: other → unspecified
-> component owner
Assignee: tara → myk
Whiteboard: [relations:dupl,depend]
This should definitely not be wontfix; if bugzilla is going to be used for
project management, this is a key feature. The simple way would be to just add
the "original" bug (bug C in jgm's example) to the dependency list; the more
complicated way is to add dependency list history to bugs, so if they get
reopened  (unduped) they can be re-added to a previous dependency list (while
still leaving bug C in the list, on the presumption that if it's as
serious/relevant as bug B, it should be there)
now that bugs actually know what they're duplicates of we should be able to have
shadow dependencies.

From the original example
A should have "Bug A depends on: D [D         ] and B: C."
C should have "Bug A blocks: E [E         ] and B: A."

Where D and E are two other bugs which are actually direct dependencies of A and
C respectively.

One thing which we could do is set it up so that Verifying a duplicate changes
the shadow dependencies to real dependencies.
Adding Bug 86328 to depends. 86328 is similar to this, in that it is looking for
a way to update depending bugs, but when you delete them. So a solution, there
would make this a seemingly trivial fix.
Depends on: 86328
No longer depends on: 86328
Travis: not even close.  That bug is talking about referential integrity in the
database, not bug dependencies.
*** Bug 243200 has been marked as a duplicate of this bug. ***
Now that we have a duplicates table, it is "easy" to detect that a bug is a
duplicate, and what it is a duplicate of...

... so rather than updating the records on bug A, it could remain depending on
bug B, and then have bug C act similarly to as if it was bug B for the purpose
of affecting bug A:

e.g. when Bug C changes state, dependencies get an email message:
Bug X depends on bug C, which changed state.

So by extension you could have:
Bug A depends on bug B;
Bug B is a duplicate of bug C, which changed state.

or even:
Bug Y depends on bug Z;
Bug Z is a duplicate of bug B;
Bug B is a duplicate of bug C, which changed state.


Similarly on the bug page for bug A itself, rather than just "Bug B" in the
dependency list, it could show "Bug B → C", etc.

Furthermore, on bug C, you could show duplicates (beside the "depends on" and
"blocks" section) together with "inherited" dependecies that belong to those bugs.

Idea needs fleshing out a bit, but I think it allows more consistency and
reversibility than automatically changing the target bugs, as well as better
traceability of why bug A depends on bug C.
QA Contact: mattyt-bugzilla → default-qa
Target Milestone: Future → ---
Assignee: myk → create-and-change
STM this should be marked a dup of bug 65382
or a dup of bug 523791
Attached file (wrong patch) (obsolete) —
We shouldn't alter the DB, because the duplicate may be reopened and dependencies would then be wrong. I simply reuse the existing _resolve_ultimate_dup_id() method we have.
Assignee: create-and-change → LpSolit
Status: NEW → ASSIGNED
Attachment #610080 - Flags: review?(glob)
Summary: Resolving DUPLICATE should update depending bugs → Marking a bug as duplicate of a duplicate should also display the bug at the end of the duplicate chain
Target Milestone: --- → Bugzilla 4.4
(In reply to Frédéric Buclin from comment #16)
> Created attachment 610080 [details]
> patch, v1
> 
> We shouldn't alter the DB, because the duplicate may be reopened and
> dependencies would then be wrong. I simply reuse the existing
> _resolve_ultimate_dup_id() method we have.

that's quite different from what this bug was asking for before the subject was changed; however i agree that it would be better to make this a non-db-altering action.

with your patch i followed the steps outlined in comment 0, however i don't see anything different on the display of the duplicate on bug C (or and bugs).
(In reply to Byron Jones ‹:glob› from comment #17)
> with your patch i followed the steps outlined in comment 0, however i don't
> see anything different on the display of the duplicate on bug C (or and
> bugs).

Right, I misread what this bug was about. I had duplicates of duplicates in mind, not dependencies. I attached the patch to the wrong bug. Sorry.
Assignee: LpSolit → create-and-change
Status: ASSIGNED → NEW
Target Milestone: Bugzilla 4.4 → ---
Summary: Marking a bug as duplicate of a duplicate should also display the bug at the end of the duplicate chain → Marking a bug as duplicate of another bug should mark bugs blocked by it as depending on the other bug
Attachment #610080 - Attachment description: patch, v1 → (wrong patch)
Attachment #610080 - Attachment is patch: false
Attachment #610080 - Flags: review?(glob)
Attachment #610080 - Attachment is obsolete: true
Flags: needinfo?(fupeng770)
Attachment #9337313 - Attachment description: you should try this one → Spam
Attachment #9337313 - Attachment is obsolete: true
Attachment #9337358 - Attachment filename: file_9403.txt → spam
Attachment #9337358 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: