diff --git a/org.eclipse.emf.cdo.releng.promotion/config/promoter.properties b/org.eclipse.emf.cdo.releng.promotion/config/promoter.properties
index ddd5bb8..feb1d74 100644
--- a/org.eclipse.emf.cdo.releng.promotion/config/promoter.properties
+++ b/org.eclipse.emf.cdo.releng.promotion/config/promoter.properties
@@ -1,7 +1,7 @@
 projectName=CDO
 
 # Path to the directory where the web pages and downloadable contents for users are located
-projectPath=modeling/emf/cdo/test
+projectPath=modeling/emf/cdo
 compositionPath=updates
 compositionTempPath=temp
 
diff --git a/org.eclipse.emf.cdo.releng.promotion/src/promoter/Git.java b/org.eclipse.emf.cdo.releng.promotion/src/promoter/Git.java
index 14d2f25..8e6adda 100644
--- a/org.eclipse.emf.cdo.releng.promotion/src/promoter/Git.java
+++ b/org.eclipse.emf.cdo.releng.promotion/src/promoter/Git.java
@@ -48,7 +48,7 @@
   {
   }
 
-  private boolean cloneIfNeeded()
+  private boolean cloneIfNeeded(PrintStream stream)
   {
     File clone = PromoterConfig.INSTANCE.getProjectCloneLocation();
     if (clone.exists())
@@ -59,12 +59,11 @@
     File parent = clone.getParentFile();
     parent.mkdirs();
 
-    IO.executeProcess("/bin/bash", out -> {
-      PrintStream stream = new PrintStream(out);
-      stream.println(PromoterConfig.INSTANCE.getGitExecutable() + " clone --bare " + PromoterConfig.INSTANCE.getGitRepositoryURL() + " " + clone);
-      stream.flush();
-    });
+    String url = PromoterConfig.INSTANCE.getGitRepositoryURL();
 
+    System.out.println("Cloning " + url + " to " + clone);
+    stream.println(PromoterConfig.INSTANCE.getGitExecutable() + " clone --bare " + url + " " + clone);
+    stream.flush();
     return true;
   }
 
@@ -74,11 +73,12 @@
     {
       fetched = true;
 
-      if (cloneIfNeeded())
+      if (cloneIfNeeded(stream))
       {
         return;
       }
 
+      System.out.println("Fetching " + PromoterConfig.INSTANCE.getProjectCloneLocation() + " to " + PromoterConfig.INSTANCE.getProjectCloneLocation());
       stream.println(GIT_COMMAND + " fetch");
       stream.flush();
     }
