|
|
|
At #1, mismatch between CC and IntelliJ : CC says "Bugfix 4", IntelliJ says "Bugfix 1".
fixed At #2 and #3 : Clicking "Refresh VCS Changes" should synchronize the activities as well. Remember, since i just want to see my activities in the project views (and not all branches, as what's done in TeamCity ), it's not a lengthy process at all (as long as you obsolete your own activities from time to time which is considered best practice). So i don't think "Synchronize activities" is useful anymore. Keep it simple : "Refresh VCS Changes" should synchronize everything with Clearcase. Now that I optimized the retrieval of activities from CC (one command per view), I'm able to do that. I also like this idea. In addition, renaming a changelist should rename the associated activities if any (so you don't have mismatch) The problem here lies in the nature of IDEA-CC interaction design. We do not perform state-changing actions (like checkin, deletion or activities rename) on demand. Rather we perform everything in one determined step, like committing. Thus I suppose that activity rename will be performed right before the changelist commit. "Bugfix 6" should have some icon, indicating that it's locked so you can't checkout anything. Me: In addition, renaming a changelist should rename the associated activities if any (so you don't have mismatch)
You : The problem here lies in the nature of IDEA-CC interaction design. We do not perform state-changing actions (like checkin, deletion or activities rename) on demand. Rather we perform everything in one determined step, like committing. Thus I suppose that activity rename will be performed right before the changelist commit. Can it be changed ? A plugin can't add behavior on those events (checkout, activities rename etc...) ? You have to, because it leads to inconsistencies, and that's the one thing you don't want. As a side note, when i create branches on my project (new CC streams, so new CC views) there isn't any activity on the stream. So IntelliJ pops up dialogs saying so, plus info messages in the messages window saying that there isn't any activity, and i can have problems if i check out things !!!! That's really weird. IntelliJ should list nothing in the changes view and that's all. Please, please, i really insist on this, we must be able to have those changes on changelist drive the activity creation/update/ obsoletion... It really feels awkward right now... I have one more thing to add, its to do with views -> modules -> activities.
I have multiple modules in the same view but IDEA asks each module for its list of activities, This can be very slow indeed for an action thats pointless as it returns the same result. Also when working in offline mode IDEA still attempts to do some activity management if the UCM checkbox in the configuration is active. If I am in offline mode then it should ignore the state of the UCM box and just do nothing. (I assume this was the intention as changing to offline mode grays out the UCM box.) I have multiple modules in the same view but IDEA asks each module for its list of activities, This can be very slow indeed for an action thats pointless as it returns the same result. Maybe you should do as 'lsview' on the module first and if its the same as one thats already been added then it can be ignored. (or make it an option in the configuration to always use single view)
I agree, detect this automatically, no need for an option here. Optimization of getting the activities per view and not per module is already done.
At #2 and #3 : Clicking "Refresh VCS Changes" should synchronize the activities as well. Remember, since i just want to see my activities in the project views (and not all branches, as what's done in TeamCity ), it's not a lengthy process at all (as long as you obsolete your own activities from time to time which is considered best practice). So i don't think "Synchronize activities" is useful anymore. Keep it simple : "Refresh VCS Changes" should synchronize everything with Clearcase.
When "Synch activities on refresh" is on, IDEA will synch activities on refresh, otherwise an on-demand menu item in "Version Control" menu will be available. Thus we have a good compromise between convenience and performance. "Bugfix 6" should have some icon, indicating that it's locked so you can't checkout anything.
While we have rather limited possibilities to graphically decorate changelists, locked lists will be highlighted with bold suffix "(LOCKED)" and obsolete changelists will disappear from the "Changes" view. When "Synch activities on refresh" is on, IDEA will synch activities on refresh, otherwise an on-demand menu item in "Version Control" menu will be available. Thus we have a good compromise between convenience and performance.
Ok for me. While we have rather limited possibilities to graphically decorate changelists, locked lists will be highlighted with bold suffix "(LOCKED)" and obsolete changelists will disappear from the "Changes" view. What about the "activity creation from checkouting in a changelist", and "renaming one changelist should rename the associated activities" ? Do you have any news for that matter ? I'm currently think of that. Since there is no cleartool graphical commnd for that (I wanted to issue ct so that is manages its activities itself), I need to implement this dialog by myself. I plan to integrate the activity assignment into the cc checkout dialog (not the "clear offline status" dialog).
I think this way:
If there is no associate activity for a view where the affected file is located, then the checkout dialog will show a combobox with available activities for a view. It will be possible to choose the existing one or type the heading name for a new one. |
|||||||||||||||||||||||||||||||||||||||||||
changelist - activites management
When you create some view in clearcase, there is absolutely no activity set on it. If you want to checkout a file you have to create an activity first (which CC explorer or eclipse proposes with a dialog). IntelliJ must create an activity when checkouting file if none exists. So, this underlines the necessity to reflect changelist changes as immediate as possible in CC. So :
comment management
At checkouting file, i like to log a comment, that's already available via a dialog today. If any IntelliJ action asks to checkout more than one file, a refactoring for example, let's say 30 files, i'll get 30 dialogs
.
Gilles