diff --git a/src/main/java/at/ac/uibk/gitsearch/service/ExerciseService.java b/src/main/java/at/ac/uibk/gitsearch/service/ExerciseService.java
index c4047893e97cbe5f7d3070b627a1a68e2a9cae78..a2f50c0d50e18cb7afe40a8a1a9636bbc1a81a6b 100644
--- a/src/main/java/at/ac/uibk/gitsearch/service/ExerciseService.java
+++ b/src/main/java/at/ac/uibk/gitsearch/service/ExerciseService.java
@@ -123,6 +123,9 @@ public class ExerciseService {
 
         // https://www.baeldung.com/java-compress-and-uncompress
         while ((zipEntry = zipInputStream.getNextEntry()) != null) {
+            if (zipEntry.getName().contains("/.git/")) {    // important as Artemis exercises come in submodules
+                continue;
+            }
             File entryFile = new File(tmpDir, zipEntry.getName());
 
             if (zipEntry.isDirectory()) {
diff --git a/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java b/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
index 2e2570cc955564bafb5c7955c4f6bc8dc8ecf440..37da82d8e0b098a44f9167f6d93ce3c090a9eaf3 100644
--- a/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
+++ b/src/main/java/at/ac/uibk/gitsearch/service/GitlabService.java
@@ -220,7 +220,7 @@ public class GitlabService {
 
             FileUtils.copyDirectory(srcDir, git.getRepository().getDirectory().getParentFile());
             git.add().addFilepattern(".").call();
-            git.commit().setMessage("Importing files").setCommitter(currentUser.getUsername(), currentUser.getEmail()).call();
+            git.commit().setAll(true).setMessage("Importing files").setCommitter(currentUser.getUsername(), currentUser.getEmail()).call();
             git.push().setCredentialsProvider(CredentialsProvider.getDefault()).call();
         } catch (GitLabApiException | GitAPIException e) {
 	        FileUtils.deleteDirectory(git.getRepository().getDirectory().getParentFile());