Merge branch 'stable-3.8' into stable-3.9

* stable-3.8:
  Reverse the order of storing commit, tree and blobs

Change-Id: Id8b4c4abaf602b009b1285256e03b99330ea144f
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObject.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObject.java
index 3b6b0be..5a4c92f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObject.java
@@ -64,10 +64,6 @@
                 throw new MissingParentObjectException(name, refSpec.getSource(), parent.getId());
               }
             }
-            refHead = newObjectID = oi.insert(commitObject.getType(), commitObject.getContent());
-
-            RevisionObjectData treeObject = revisionData.getTreeObject();
-            oi.insert(treeObject.getType(), treeObject.getContent());
           }
 
           for (RevisionObjectData rev : revisionData.getBlobs()) {
@@ -78,6 +74,13 @@
             refHead = newObjectID;
           }
 
+          if (commitObject != null) {
+            RevisionObjectData treeObject = revisionData.getTreeObject();
+            oi.insert(treeObject.getType(), treeObject.getContent());
+
+            refHead = oi.insert(commitObject.getType(), commitObject.getContent());
+          }
+
           oi.flush();
 
           if (commitObject == null) {