id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,branch,changelog,apichanges,internalchanges 3641,Add a way to revert ticket changes,Adrian Holovaty ,Remy Blank,"It'd be super-convenient if Trac offered a way to revert a particular change to a ticket. For example, at the [http://code.djangoproject.com Django Trac site], we just got a ton of spam. (Yes, we have the spam plugins installed, but they didn't catch this particular spammer.) Each spam changed the priority/component/severity/milestone of a random ticket. So now I have to go through each ticket and manually change those attributes to what they were previously. Then I have to delete all of the comments themselves (because they contained spam links). Trac appears to keep track of old values and new values to tickets, for each change, so it should be possible to automate the ""undoing"" of a given ticket change. It'd be nicest if there were a ""revert"" link next to each ticket, but, personally, I'd be just as happy with a command-line script that takes the ticket number and automatically reverts the latest ticket change for that ticket: {{{trac-admin revertcomment 243}}}",enhancement,closed,low,0.12,ticket system,0.9.6,minor,fixed,,,,,,