Merge branch 'stable-3.7' into stable-3.8

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

Change-Id: Ib033b7c1f456661855a6ab6fed01e0cf31be9de7
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 36356e9..05033b4 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
@@ -61,10 +61,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()) {
@@ -75,6 +71,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) {