First I asked about shelving. Shelving is the ability to actually upload intermediate revisions to the server without really checking them in. It is extremelly useful for keeping the main line stable. I mean, in old CVS or SourceSafe days all commits went to the main line, so if you are not careful enough... you easily pollute the code others are going to download.
Question is: why would you need to upload your code to the system if it is not finished yet? Well, there are many answers: maybe it is Friday afternoon and you just want to put your work on a safe place before going skying during the weekend... just in case your leg gets broken, you won't be able to go to the office next monday and... nobody will easily recover your ongoing work... :-P
That's just one reason, but there are many others: what about being able to compare against what you had just some time ago?
Then I asked about branching, because Team System also supports it too (unlike SourceSafe and its big problems just trying to emulate it). It seems some improvements there too.
How does Plastic provides these functionalities?. First of all we can support all the branching patterns out there. So, we could handle, as I explained in a previous post if I remember correctly, even a branch created for each task a developer works on... So, he will be able to check in as many times as he wants to, and check the differences, and be sure his code is safe on the server.

But there is another way in which we outperform shelving, in fact we could also call it shelving too: we can associate data to checked out revisions, meaning you could actually recover data from something that is checked out, without having to check it in first. This is extremelly powerful. Imagine the situation: you are working on something that is still not finished. You save your check outs, and somebody else on the team (or even yourself from another machine), will be able to exactly reproduce what you were working on... and remember, it was not even checked in! Great, isn't it?
0 comments:
Post a Comment