It's all about the answers!

Ask a question

Change sets delivery order in RTC

Luca Martinucci (1.0k291110) | asked Jun 11 '15, 5:28 a.m.
Suppose we have this scenario in RTC:
  • user A completes change set A in his workspace;
  • user B completes change set B in his workspace at the same time (very unlikely, but possible in theory);
  • also, change sets A and B contain changes to the same file(s);
  • user A delivers change set A to the integration stream;
  • user B accepts change set A in his workspace (and creates a Merge change set), then delivers both B and Merge change sets to the integration stream;
Now, we have 3 change sets on the integration stream: A, B and Merge.
Which is the right delivery order?
Of course, Merge cannot be delivered alone and before A and B, because it was the last to be completed.
But what about A and B?
I mean, when 2 change sets contain changes to the same file(s) and have the same completion time, is there a preferential delivery order (based on some other criterion), or can we deliver indifferently A before B and vice-versa?

Accepted answer

permanent link
Ralph Schoon (62.3k33643) | answered Jun 11 '15, 6:58 a.m.
edited Jun 11 '15, 6:59 a.m.
Since User B has accepted change set A that is on the stream, that change set A is not outgoing, as far as I can tell. B and Merge are. Since Merge depends on B, which could or could not be complete, B, Merge is the right order (if B is complete and Merge does not go into B). If you deliver everything, the system does it for you in the correct order - at least it should.

Also, the order is shown in the outgoing change sets, so you can see what the newest is. Order is from bottom to top  if I remember correctly.

If the user accidentally tries to deliver in the wrong order, the system tells him that he needs to deliver the other as well. Or you will run into the gap workflow that will help you to fill the gap.
Luca Martinucci selected this answer as the correct answer

Luca Martinucci commented Jun 18 '15, 3:56 a.m.

I have done some tests on my own, and I've figured out how the delivery order is managed.
Actually, when 2 change sets come from different workspaces and have been merged, they can be delivered separately in whatever order, the completion time does not matter.
You must just be aware that the Merge change set is to be delivered last, otherwise you would introduce gaps.
So, for example, you can first deliver change set A (or B) alone, then change set B (or A) together with Merge.

Your answer

Register or to post your answer.