Tuesday, April 12, 2016

Microsoft Dexterity does not check in resources "all the way" into source control repository

Just recently, we migrated to Visual Studio Team Services from Visual SourceSafe and Team Foundation Server. Our migration went very smooth, with only a couple issues to report -- you can read more about these in the 2-part series here and here.

During our testing phase, prior to the migration, we ran into an issue where resources were being checked out of the VSTS repository, but did not seem to check back into the repository all the way, requiring the developer to go to Visual Studio Source Control Explorer to complete the check in. We attributed this to a simple environmental issue as the developer also had been having other issues with his machine in general. He had already committed to reformat his machine so no further thought went into this. Also, it is probably a good time to mention that no one else was experiencing this problem so off we went into the sunset.

Fast forward a couple weeks. After completing the migration and back working on our daily development activities, the same developer reported having the same issue once more, this is, he would check out a resource from the repository, make changes to that resource, and check the resource back into the repository. However, the resource would not check all the way in, requiring to complete the check in with Visual Studio.

The next immediate step was to compare the source control settings between a working and the non-working environment. A working environment had the following settings:

Dexterity Source Control Options

Root Directory: C:\Projects\Features\Deadbolt\
Project Name: ABCD

The non-working environment had the following settings:

Dexterity Source Control Options

Root Directory: C:\Projects\Features\
Project Name: Deadbolt\ABCD

In comparing the two, it was obvious the project name in the non-working environment was preceded by the folder on the disk where the project could be located. Dexterity never barked at this during the setup, so our developer assumed it was Ok to leave it as shown above. Since resources were checking out fine and he could work, he never thought much of the setting.

Once his settings were changed to match that of all working environments, things were good again - check-in worked as expected!

In retrospect, the Apply button should validate these settings, so we will attribute this to a bug in Dexterity. Perhaps is non-consequential, but certainly a headache if you are in a pinch.

Until next post!

Mariano Gomez, MVP

No comments: