What is a change list good for?

I'm having a hard time grasping the concept of change lists as far as what can it give me what a commmit can't? I mean if I commit a file, make changes, then commit again, I can use the diff viewer to view my changes. I don't understand where does the change list comes into the picture. I guess I'm missing some examples from the documentation.

The docs does explain click this button to do this or do that. But I can figure that out without reading the docs. I just don't understand what are change lists good for.

Can someone give an example of a workflow?

Thanks.

5 comments
Comment actions Permalink

Change lists are invaluable for us. A change list is set of changed files for a particular commit. Most of are our commits are not a single file – they can be one to 50 files, depending on the change. We label the change list with our commit message. We create a change list, and then begin working on files, and then if we have to postpone working on that change, we shelve the change list and create a new change list. Sometimes just create a new change list and work on those files. Here begins the benefits. PHPStorm will warn me if I begin to work on files that are already in another change list (not shelved), so that I don't mix changes (commits.) Also, so if I am working on multiple changes, I don't accidentally commit them together, but only commit those files that belong to that change. We also use it for "immediate deployments", which are deployments that don't follow the normal process, as I can right-click and upload to deployment server only those files that pertain to that change. Also, if I need to pass work to another developer, then I can and the create a patch of that change list, complete with all files and the commit message,
 
The main thing is we have a ton of work to do, which means we can’t always work from start to finish on a change, and the change list allows us to start and stop on changes without accidentally mixing up what files we were working on.
 
 

 

0
Comment actions Permalink

Thanks for y our reply, Keith! I think it's still a little hazy for me. I need to experiment with this feature a little.

0
Comment actions Permalink

Do you also use Git? I can see advantages to the workflow you describe for a team not using Git/Hg but it seems that a feature branch workflow is probably better since it exposes all the "changelists" as branches, doesn't require generating patches and doesn't depend on using PHPstorm.

0
Comment actions Permalink
Well, between that last post and this one we switched fully to Git. We used CVS in the past, and it's branching and merging sucked. Today, we still use Change Lists, but only for maintaining the work we are currently engaged in, as we often are working on more than one thing a time. We still use Shelving and Change Lists are good for that (don't really like Git Stash), but again, we only do this for short-term / temporary postponement and if it's going to something we can't finish in one session, we branch it. Also, Changelists are good for uploading to production (which we have to do for small / emergency changes), as you can upload the whole changelist. Finally, I make my team use Changelists to create their Commit Message before they begin work, to ensure they use the right message and don't forget.
0
Comment actions Permalink

Hey Pen Tool,

I just want to throw in my use of change-lists to maybe help you see their benefit.

I find that when doing development on production replicas, I want to change some default values to simplify dev that I would never want to have accidentally wind up on the production server. That's where change-lists come in because I can take the css file, for example, and change the background color to obnoxious colours and stuff to make it very obvious a block is loading how expected etc. I find it very useful to preset required fields of forms for quick testing. It may not be the intended use of change-lists, but it has definitely helped me in making very temporary changes to my files.

Hope I was able to explain it in a way where you get an idea of how it can be used.

Just another reason IntelliJ kicks butt!

0

Please sign in to leave a comment.