Check-in change sets to respository work space
![]() Hello, Upto know I have found that we can do many restrictions at the level of delivering a change set to a stream (like mandate a work item or mandate a comment etc..). What currently I could not find is, how do we restict at the level of "check-in" operation to local repository work space. Reason behind: while testing the check-in all was used. It created 85 change sets which was not really intended. Of course the change-set are not delivered. But still if we do any search for change sets, these change sets will appear for all users. What are the possibilities to avoid this in future? Can I set some hook before the change-set is created by any user? |
2 answers
![]()
Geoffrey Clemm (30.1k●3●30●35)
| answered Sep 11 '13, 12:12 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
RTC does not allow you to prevent a user from checking in their changes. This was a very deliberate design choice, since it was felt that a user should always be able to use the server as a reliable store for their work in progress. You are correct that there is no way to delete a change set ... "discard" just removes a change set from your workspace. You can delete the content of a particular version, but you cannot delete the change set metadata (the change set metadata takes up very little space, so no need to worry about that cluttering the server). It is true that those change sets can be found via queries, but in practice, we have not found that to be a problem. If you find otherwise, it would be very reasonable to submit an enhancement request to "archive" a change set so it by default does not appear in query results.
Just for interest's sake, what checkin-prevention rule would you have put in place to prevent the checkin you describe (that wouldn't block useful work)? Comments Actually, the whole thing was not to prevent it for users, but giving some conditions like force to add a comment. This possibility we have it while deliver operation... As I mentioned while testing, un-intentionally the button "Check-in" all was used, which created 85 new change sets without any additional conformation or asking to enter a comment. For new users, it is difficult to understand the conepts behind pending changes view initially... This brought me to bring-in this topic in the forum... ![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
There is an interesting tension here. One of the criticisms of high-end SCM systems is that they are "unfriendly to developers". In practice, most of that unfriendliness is not built in to the SCM system, but rather is added by the customer in the form of custom hooks and triggers. The low end SCM systems do not allow you to create hooks and triggers, so the developer experiences those systems as being "easy and fast to use". So in RTC, we have tried to strike a balance ... checkin is the "developer friendly" operation, which is guaranteed to always just work, quickly and silently (just like your own personal GIT repository). But when time comes to deliver to a stream, that's when the project lead for a stream gets to have his say, and places as many requirements on delivery to the stream as he wants. It might help to think of RTC's checkin as "private checkin" and RTC's deliver as "public checkin". The developers have complete freedom for their private checkins.
Hello Geoff,
![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
That's certainly a reasonable request. I've submitted work item Warn user if checkin-all will checkin a large number of changes or changes in multiple components (280596)
|