Index: migrate_from_trac.rake =================================================================== --- migrate_from_trac.rake (revision 12072) +++ migrate_from_trac.rake (working copy) @@ -261,7 +261,13 @@ u.password = 'trac' u.admin = true if TracPermission.find_by_username_and_action(username, 'admin') # finally, a default user is used if the new user is not valid - u = User.first unless u.save + unless u.save + u.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Skipping user.\n" + u = User.first + end end # Make sure user is a member of the project if project_member && !u.member_of?(@target_project) @@ -399,7 +405,13 @@ STDOUT.flush c = IssueCategory.new :project => @target_project, :name => encode(component.name[0, limit_for(IssueCategory, 'name')]) - next unless c.save + unless c.save + c.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "Error: Skipping category.\n" + next + end issues_category_map[component.name] = c migrated_components += 1 end @@ -417,7 +429,12 @@ p.content.text = milestone.description.to_s p.content.author = find_or_create_user('trac') p.content.comments = 'Milestone' - p.save + unless p.save + p.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Error saving wiki page.\n" + end v = Version.new :project => @target_project, :name => encode(milestone.name[0, limit_for(Version, 'name')]), @@ -425,7 +442,13 @@ :wiki_page_title => milestone.name.to_s, :effective_date => milestone.completed - next unless v.save + unless v.save + v.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Skipping version.\n" + next + end version_map[milestone.name] = v migrated_milestones += 1 end @@ -480,7 +503,14 @@ i.status = STATUS_MAPPING[ticket.status] || DEFAULT_STATUS i.tracker = TRACKER_MAPPING[ticket.ticket_type] || DEFAULT_TRACKER i.id = ticket.id unless Issue.exists?(ticket.id) - next unless Time.fake(ticket.changetime) { i.save } + unless i.save + i.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Error saving issue.\n" + next + end + TICKET_MAP[ticket.id] = i.id migrated_tickets += 1 @@ -487,7 +517,12 @@ # Owner unless ticket.owner.blank? i.assigned_to = find_or_create_user(ticket.owner, true) - Time.fake(ticket.changetime) { i.save } + unless i.save + i.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Error saving issue.\n" + end end # Comments and status/resolution changes @@ -589,6 +624,11 @@ page.content.text = convert_wiki_text(page.content.text) Time.fake(page.content.updated_on) { page.content.save } end + else + wiki.errors.full_messages.each do |msg| + print "\nERROR: ",msg,"\n" + end + print "ERROR: Error saving wiki.\n" end puts