Hi folks,
We develop our own source control provider extension for VS IDE. There is VS 2015 RC specific defect around checking out files. Our pessimistic checkout feature doesn't work as expected. When user tries to modify a form by placing new control to it he gets
our checkout dialog displayed. If user denies checkout we disallow the file modification. Here's a code sample:
int IVsQueryEditQuerySave2.QueryEditFiles(uint queryEdit, int numFiles, string[] documents, uint[] flags, VSQEQS_FILE_ATTRIBUTE_DATA[] fileInfo, out uint editVerdict, out uint moreInfo)
{
...
// Show the Check Out dialog to check out the file for editing.
...
if (!checkedOut)
{
fileEditVerdict = (uint)tagVSQueryEditResult.QER_NoEdit_UserCanceled;
fileMoreInfo |= (uint)tagVSQueryEditResultFlags.QER_ReadOnlyUnderScc;
return VSConstants.S_OK;
}
...
}
The problem is that after cancelling checkout QueryEditFiles is called by VS IDE again and again.. Finally form.cs file gets modified. Older VS IDE versions behave as expected, there is no extra QueryEditFiles attempts.
Is there any workaround or fix for the issue?
Thanks.