Index: migrate_from_trac.rake
===================================================================
--- migrate_from_trac.rake	(revision 12202)
+++ 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
@@ -589,6 +612,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
 
