Personal Build from a Shelf with Commit, does this commit to the main repositry or the shelf

Morning all,

I ran a personal build from a shelved changeset in VS2010 & TFS using Team City 6.0.2 and all was fine. I was however suprised to find that the commit did not check in to TFS directly, it shelved the change set.

Is this the expected behaviour or something we can configure?

Many thanks.

Comment actions Permalink

Hi, Paul.
If i understand you correctly, you did personal build with changes unshelved from old shelveset. Also you turned on delayed commit option.
If so - this is expected behaviour. Vs add-in creates shelveset when you start personal build with delayed commit and restore those changes when actually commiting. If not - please describe me more details of what happened.

Comment actions Permalink


I may have been a little hasty in marking this question as answered as on a second read I believe there to be some confusion (on my part).

I unshelved a changset from TFS which had a large amount of files checked out to me.

Ran a personal build with commit of successful selected

I was expecting to find my changes checked in to TFS as a new changeset after the build ran, this was not the case.

Instead I found a shelve set with a title in the form of "TC.Delayed Commit..."

Is this shelf the result of commiting changes from a shelf set or should I have expected the changeset to appear in TFS?

Many thanks


Comment actions Permalink

Paul, the result of succesfull delayed commit is commiting of changelist to TFS.
Shelved changeset is implementation detail of delayed commit feature.
After delayed commit attemp you should also see commit status in MyChanges toolwindow. ("Automatic commit succeded" or "Automatic commit failed"). Also it is possible to commit your changes manually regardless build status. Look at context menu on MyChanges toolwindow.

Comment actions Permalink


Look at his link, I think what may have happened to you is scenario 2.

Scenario 2: Fail
Edit File A (save)
Run a personal build
Close visual studio
Wait until build finishes

I would expect it to check in the files even though you closed visual studio. It does NOT do that. The personal build succeeds, and TeamCity says that you have committed the build, but when you look at source control, it did not commit your changeset. This is because Visual Studio will check in the files on your machine. If it's not open, it won't even do that.


pavel said...

The second scenario is by design. Currently checkin is done from IDE.

I would personally like a shelveset to be committed regardless if VS is open or not.



Please sign in to leave a comment.