#2805 closed defect (fixed)
Ticket view sometimes silently drops information
| Reported by: | Owned by: | Jonas Borgström | |
|---|---|---|---|
| Priority: | high | Milestone: | 0.10 | 
| Component: | ticket system | Version: | devel | 
| Severity: | major | Keywords: | |
| Cc: | exarkun@… | Branch: | |
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description (last modified by )
I've got a Ticket with a changelog (as returned by get_changelog) that looks like this:
[(1139910447, 'miro', 'comment', '', '<long important comment snipped>'), (1139910447, 'miro', 'comment', '', ''), (1139910447, 'miro', 'attachment', '', 'sshserver.py')]
The 1st 'comment' entry comes from an actual comment on the ticket. The 2nd 'comment' entry comes from the description of the attachment on the attachment table - ie, it is a row returned by the final SELECT clause in the statement which retrieves the changelog (line ~288 in trac/ticket/model.py). Since the timestamp and author on these two rows are the same, when the web ui builds up the change data set for the rendering pass (line ~420 in trac/ticket/web_ui.py), it does not create a new `changes' entry, but merely overwrites the first comment with the second.
It seems as though the schema is missing a reliable way to associate multiple pieces of change information with each other. The ad hoc time/author mechanism cannot be counted on to work in all cases.
I've patched my local version of trac like this in order to temporarily work around the problem:
=== trac/ticket/web_ui.py
==================================================================
--- trac/ticket/web_ui.py       (revision 2048)
+++ trac/ticket/web_ui.py       (local)
@@ -418,7 +418,7 @@
         curr_date   = 0
         changes = []
         for date, author, field, old, new in changelog:
-            if date != curr_date or author != curr_author:
+            if date != curr_date or author != curr_author or (field in changes[-1]):
                 changes.append({
                     'date': util.format_datetime(date),
                     'author': author,
      Attachments (0)
Change History (6)
comment:1 by , 20 years ago
comment:2 by , 20 years ago
| Milestone: | → 0.10 | 
|---|
comment:3 by , 20 years ago
| Description: | modified (diff) | 
|---|
comment:4 by , 19 years ago
| Cc: | added | 
|---|
How did you manage to enter a ticket comment and attach a file at the exact same time?
comment:6 by , 19 years ago
| Resolution: | → fixed | 
|---|---|
| Status: | new → closed | 
I believe this should be fixed with the [3364/trunk/trac/ticket/web_ui.py] changes
(the uid = date, author, permanent part).



  
Forgot to pre the changelog, here it is again: