We just started using TeamCity as an replacement for CruiseControl. One of the features we are really interested in is the Personal Build which we hoped could work similar to a gated checkin in TFS (which we also tested for a while). However, it doesnt seem to be working quite as expected.
I tried making a personal build that i knew would be successful setting the option to commit if successful (we are using SVN btw). After starting the build i continued to make changes to the working copy on my local machine. A while later the personal build finished and i was shown a message in Visual Studio indicating that TeamCity failed to commit since the working copy revision was newer than the revision used for the build.
Does this mean that i cannot keep working on my machine while waiting for the personal build? If so, why would i ever do a personal build as opposed to just running the build locally? Would it help if we used git or mercurial instead (im thinking that the personal build revision could be a local commit, simply pending a push to the central vcs).
Or perhaps i misread the error messageand it refers to the working copy on the agent?
Lets say i think i have finished some feature, but i made a small mistake that will cause the build to fail. I start a personal build with the option to commit. Now i proceed to start work on the next feature making a lot of build-breaking changes. While i am doing this, i get notified that my previous feature actually didnt get committed. Now i would really like to have an easy way to go back and work on the code that i submitted for a personal build, "shelving" the changes since then for a while, so that i can get the previous feature committed.
Does TeamCity support anything like this? If not, then what is the intended workflow? Perhaps relying on a DVCS that supports local commits or similar?