Only one file per changeset
Accepted answer
Comments
Thanks David for your answer. When I said 5 files I was just giving an example. I also have features that touch many files.
I know customers wanted a similar policy to be able to do cherry picking. You can avoid having a lot of gaps/overlap this way. As David points out, there is no built in capability. You can write a custom advisor to prevent delivery. We have no extension point for check-in, so you can't prevent that. If users complete the change set before delivery, they would have to throw it a way and do the changes again.
Dependent on the architecture of your application this could be tedious, but others have this policy as well.
Thanks. We dont' have a built-in way to prevent this. It's just a (bad) practice that people should follow.
Ricardo, that you can't deliver there is not the driving factor, I think. The drivng factor is the ability to do "Cherry picking". The idea is that they want to pick one of the change sets and accept that in the hope that there is no previous change it depends on. By only having one file impacted by a change set the hope is to avoid overlaps and to pull in more changes.
I am not sure how realistic it is to assume that you can just accept a change to one file...... In Java it is not. In other environments, may be. It might be viable in some cases. As I said, I have heard some customers try this promotion/delivery model.
Note, in the past it was hard to find the dependent change sets. With the latest versions of RTC we have now improved gap handling support.
"Ricardo, that you can't deliver there is not the driving factor, I think. The drivng factor is the ability to do "Cherry picking". The idea is that they want to pick one of the change sets and accept that in the hope that there is no previous change it depends on. By only having one file impacted by a change set the hope is to avoid overlaps and to pull in more changes."
I agree and it heavily depends on the type of development and the language used if the assumption is really correct.
One other answer
Change set is collection of related modification to files for specific requirements.
Yes, you can use it but I don't think we have any build in feature to prevent it.
Note: you need to check-in and deliver each change set every time with common files changes.
eg: can't create two change sets for same file a.java file two times (cs1 and cs2) , without delivering it.
Regards,
Arun.