TFS 2010 backwards compatibility known issue: Possible null reference when setting source control permissions

We recently found an issue in the Team Explorer 2010 client while performing backwards compatibility testing, and unfortunately, this wasn’t a bug that we were able to fix for RTM.  This issue will be documented in the RTM ReadMe, but I wanted to make people aware of this should they go searching the web.

This issue only occurs when using a Team Explorer 2010 client to modify permissions on Team Foundation Server 2008.   Upon checking the "Inherit security settings" check box on the "Security" tab of the "Properties" dialog for an item in source control, some users may hit a condition that results in a null reference exception.  This null reference is the result of a pre-existing condition with out of sync identities that some TFS 2008 instances may exhibit.  Due to the changes in how identities are managed in TFS 2010, this issue will not occur for 2010 servers. 

If this null reference is hit while modifying the inheritance settings, the state of permissions displayed in the "Security" tab may be inaccurate – that is, what is displayed by the individual permissions checkboxes may not be the actual state of that permission.  Clicking the "OK" to save the permissions changes may then result in permissions being set that differ from what the user expected (re-opening the dialog will show the correct permissions after they are saved).  Clicking "Cancel" on the dialog will result in no changes being applied to the permissions.

While it may be possible to work around this with the 2010 client, or by using the 2010 command line, it is recommended that users trying to modify source control permissions for TFS 2008 use a 2008 client.