If one sibling tag's name begins with a substring that matches the name of another sibling tag, deleting or renaming the second tag will inappropriately affect the first.
Submitted by Eric Gregory
Assigned to cli..@..ba.org
Link to original bug (#718271)
Description
---- Reported by eric@yorba.org 2011-09-27 12:06:00 -0700 ----
Original Redmine bug id: 4190
Original URL: http://redmine.yorba.org/issues/4190
Searchable id: yorba-bug-4190
Original author: Eric Gregory
Original description:
We have an issue reported by a user where deleting a tag also deletes an adjacent tag. A video of this in action is attached.
Reference: see Dougie Nisbet's "[Shotwell] possible tagging bugs (0.11.2)" in the mailing list archives.
Related issues:
- related to shotwell - 4118: If a child tag has the same name as a tag in its ancestry... (Fixed)
- duplicated by shotwell - 4525: Database corruption of TagTable when manipulating hierarc... (Duplicate)
---- Additional Comments From shotwell-maint@gnome.bugs 2013-05-01 11:38:00 -0700 ----
History
Comment 1
Updated by Jim Nelson about 2 years ago
- Priority changed from Normal to High
Here's a link to the thread: http://lists.yorba.org/pipermail/shotwell/2011-September/003113.html
Comment 2
Updated by Lucas Beeler about 2 years ago
- Assignee set to Clinton Rogers
Clinton,
Please try to repro this in master today. We've made so many changes since 0.11.2 -- including to HTags -- that this bug might've gone away. If you can't repro it, shoot an email to Dougie asking him if he's seen this behavior happen again. If he hasn't see it occur again in the past three weeks, close the ticket.
Lucas
Comment 3
Updated by Clinton Rogers about 2 years ago
Reproduced, here's how:
- Create a tag with any valid name.
- Create a second tag.
- Rename the second tag to the first half of the tag from step one's name.
- Deleted the tag created in step two.
Notice that the tag created in step one is deleted as well.
Note: This will only occur with two or more tags where one of the tags' names is an exact substring of the other, starting from the beginning, that is, with two tags named:
granola
granola cluster
yummy granola
...deleting 'granola' will delete 'granola cluster', but deleting 'granola cluster' will not delete 'granola', and deleting either has no effect on 'yummy granola'.
Comment 4
Updated by Adam Dingle about 2 years ago
- Subject changed from [non-repro] Deleting tag deletes adjacent tag to Deleting tag deletes adjacent tag
Comment 5
Updated by Clinton Rogers about 2 years ago
- Subject changed from Deleting tag deletes adjacent tag to If one sibling tag's name begins with a substring that matches the name of another sibling tag, deleting or renaming the second tag will inappropriately affect the first.
Comment 6
Updated by Clinton Rogers about 2 years ago
- Status changed from Open to Review
Patch submitted via email.
Comment 7
Updated by Clinton Rogers about 2 years ago
- Status changed from Review to 5
- % Done changed from 0 to 100
- Resolution set to fixed
The problem was that get_hierarchical_children() wasn't adding a trailing slash to parent paths when it looked through them, so instead of a parent path like:
/a/a/
...it would try to use:
/a/a
...as the complete path instead, so it would behave as if siblings with fully- qualified names like:
/a/actress
/a/applejack
...were children (because the fully qualified '/a/applejack' contains the substring '/a/a'). Making it use '/a/a/' instead solved this.
Comment 8
Updated by Charles Lindsay 7 months ago
- Status changed from 5 to Fixed
--- Bug imported by chaz@yorba.org 2013-11-25 21:56 UTC ---
This bug was previously known as bug 4190 at http://redmine.yorba.org/show_bug.cgi?id=4190 Imported an attachment (id=262288)
Unknown Component Using default product and component set in Parameters Unknown milestone "unknown in product shotwell. Setting to default milestone for this product, "---". Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one.
Version: 0.12
Resolution: RESOLVED FIXED