问题
The title says it all really. Our team wants to somehow restrict a TFS check-in policy to some select users.
We are currently using something similar, but to restrict server paths. We have a Custom Path Policy policy attached to a Work Items policy in our project, and it is working as expected. I wondered if it would be reasonable to create another policy like that, that scopes a certain other policy to a group of predefined users.
We would like to use a feature like that with this code review policy, to enforce that code reviews are requested before check-in for the new developers that enter the company, but not for everyone.
回答1:
Here is my custom policy implementation. It allows to run child policy if user does not have certain permissions (is not member of certain group).
It can be used with custom path policy from TFS power pack and ColinsALMCornerCheckinPolicies Then it will be possible to ask for code review only for certain projects|files|folders and only if user has no permission to check-in without code review.
https://github.com/oleksabor/GroupMembershipPolicy
You have said that had migrated from TFS but I'd like to leave answer here because have not found solution for original question.
回答2:
There is no way to do this out-of-the-box, but you could indeed use the same process as the Custom Path Policy. You'd need to create and distribute a custom checkin policy to all your team members. Try using a tool like Reflector or dotPeek to inspect the Custom path Policy.
Then create your own Custom User Policy, it's a pretty simple class to implement, the core is the Evaluate method which would be almost a duplicate of the same method in the Custom path Policy. You can pop-up a simple custom windows forms dialog to show a List of users that this policy applies to (I'd personally create an option to use Blacklists as well as Whitelists).
By default you can find the custompathpolicy defined in this assembly:
C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power Tools\Check-in Policy Pack\Microsoft.TeamFoundation.PowerTools.CheckinPolicies.CustomPathPolicy.dll
来源:https://stackoverflow.com/questions/18900422/restricting-tfs-check-in-policy-to-specific-users