1
  1. Person A does a merge
  2. Person A spends some time QAing the merged code
  3. Person B tries to checkin a change on one of the merged branches, and needs to go through the "there is a pending merge" dialog

Why is it that this happens, even when Person A has not yet replicated their merge to the server? More specifically, what information is sent to the server implicitly on merge, and why? It seems odd from a user perspective that this is separate from replication, especially as it affects other users and forces them to merge from something that they do not yet have access to.

M-Pixel
  • 3,501
  • 2
  • 16
  • 27

1 Answers1

1

If Person A performs a merge and spends some time QAing, without checking the result in, it will not affect in any way to Person B. Impossible.

If Person A performs the merge and then he checks the changes in, Person B might face a merge operation if his changes are basing from a previous changeset and they are in conflict with the changes done at the merged changeset. If Person B changes are not in conflict with the ones merged then Person B can just update-merge, Plastic will let you do it: Update-Merge Dialog

Then you mentioned the "there is a pending merge" dialog, this dialog will only will be displayed when you start a merge operation, you don't finish it and finally you try to check-in the partial operation result. Once you face this scenario you should repeat the merge in order to continue with the unmerged candidates and finish the operation, then Plastic will let you check the merge in.

Finally, answering your question:

What is sent to PlasticSCM server in-between merge and replicate that affects other users, and why?

I'm afraid nothing. If you start a merge at the central repository or the distributed repository it won't affect third party users working with replicated repositories, they are completely independent until you push the merged changeset to external repositories.

MrCatacroquer
  • 2,038
  • 3
  • 16
  • 21