11 | 13 | 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. |