I'm using Services to deploy nodes from Site A to Site B, using UUID as the key to keep them synced. If the node exists on Site B, I do a PUT to update it, and if it doesn't exist, I do a POST to create it. This allows me to "push" nodes from Site A to Site B, but my issue is with entity references.
For example, I have Node X on Site A, I publish it to Site A which fires a rule which sends Node X to Site B via services. Now, I have an unpublished revision of Node X on Site B and any related entity reference field values.
Then, I publish Node X on Site B. So, I have a published revision of Node X on Site B. It has 2 "related nodes"...call is Node A and B.
I go over to Site A and update Node X and add another related node, Node C.
It deploys to Site B via the services resources and updates via Services PUT. The new draft/revision on Site B now has 3 referenced nodes, Node A, B, C. Good.
But, the published revision also shows the 3 referenced nodes, but should only have 2 since I don't want to update the published revision until a user explicitly publishes it.