问题
Occasionally when I am accepting I change set I receive the following message :
To resolve this I apply the changes as a patch and then 'Merge into workspace' the changes Why cannot all of the change sets be found ? Is there a danger my code could become out of sync with the flow target ?
回答1:
The danger is not so much the out of sync, but the integrity of the resulting code, once the patches are applied:
You are accepting change set based on other change sets that are not delivered.
There is no guarantee that it works.
As explained in this thread:
In S1, suppose there are two change sets that have modified file
foo.java:CS-23andCS-35.
You have requestedCS-35, but notCS-23.
But the state of filefoo.javainCS-35contains the changes fromCS-23... So you can't getCS-35unless you also haveCS-23(i.e. "the change set that led up to this change set").
It is ok for a developer A to not deliver all his/her change set, provided he/she delivers all change sets up to a certain point.
The warning appears in case of a partial deliver (the developer delivers B, based on change set A, but does not deliver change set A)
That might not be an issue, if there is no functional dependency (similar to git cherry-pick) between the two change sets (if B doesn't rely on code in A to compile, for instance).
来源:https://stackoverflow.com/questions/14197628/why-cant-all-change-sets-be-found-when-accepting-change-sets