Index: app/controllers/submissions_controller.rb
===================================================================
--- app/controllers/submissions_controller.rb	(revision 1035)
+++ app/controllers/submissions_controller.rb	(working copy)
@@ -422,8 +422,8 @@
   # See Assignment.get_svn_commands for details
   def download_svn_export_commands
     assignment = Assignment.find(params[:id])
-    string = assignment.get_svn_commands
-    send_data string, :disposition => 'attachment', :type => 'text/plain', :filename => "#{assignment.short_identifier}_svn_exports"
+    svn_commands = assignment.get_svn_commands
+    send_data svn_commands.join("\n"), :disposition => 'attachment', :type => 'text/plain', :filename => "#{assignment.short_identifier}_svn_exports"
   end
 
   # See Assignment.get_svn_commands for details
Index: app/models/assignment.rb
===================================================================
--- app/models/assignment.rb	(revision 1035)
+++ app/models/assignment.rb	(working copy)
@@ -311,16 +311,9 @@
   # Get a list of subversion client commands to be used for scripting
   def get_svn_commands
     svn_commands = [] # the commands to be exported
-    groupings = Grouping.find_all_by_assignment_id(self.id)
-    groupings.each do |grouping|
-      submission = grouping.get_submission_used
-      line = ""
-      if !submission.nil?
-        line += "svn export -r #{submission.revision_number} #{grouping.group.repository_external_access_url} #{grouping.group.group_name}"
-      end
-      if line != ""
-        svn_commands.push(line)
-      end
+    self.submissions.each do |submission|
+      grouping = submission.grouping
+      svn_commands.push("svn export -r #{submission.revision_number} #{grouping.group.repository_external_access_url} \"#{grouping.group.group_name}\"")
     end
     return svn_commands
   end
Index: test/unit/assignment_test.rb
===================================================================
--- test/unit/assignment_test.rb	(revision 1035)
+++ test/unit/assignment_test.rb	(working copy)
@@ -239,6 +239,34 @@
      a = assignments(:assignment_3)
      assert a.add_csv_group(group)
    end
+   
+   def test_get_svn_commands
+     a = assignments(:assignment_2)
+     expected_array = []
+          
+     a.submissions.each do |submission|
+       grouping = submission.grouping
+       group = grouping.group
+       expected_array.push("svn export -r #{submission.revision_number} #{REPOSITORY_EXTERNAL_BASE_URL}/group_#{group.id} \"#{group.group_name}\"")
+     end
+     assert_equal expected_array, a.get_svn_commands
+   end
 
+   def test_get_svn_commands_with_spaces_in_group_name
+     a = assignments(:assignment_2)
+     # Put " Test" after every group name"
+     Group.all.each do |group|
+       group.group_name = group.group_name + " Test"
+       group.save
+     end
+     expected_array = []
+          
+     a.submissions.each do |submission|
+       grouping = submission.grouping
+       group = grouping.group
+       expected_array.push("svn export -r #{submission.revision_number} #{REPOSITORY_EXTERNAL_BASE_URL}/group_#{group.id} \"#{group.group_name}\"")
+     end
+     assert_equal expected_array, a.get_svn_commands
+   end
 
 end

