# Wednesday, October 31, 2007

I don't know how I ever missed it but I was shocked to find that I could not restrict users from branching and merging in TFS Version Control.  Ahhhhhh!!!!

The only security privileges (for Version Control) that are available are:

  • Read
  • Check out (branching, merging, and other similar pending changes fall into this category)
  • Check in
  • Label
  • Lock
  • Revise other users' changes
  • Unlock other users' changes
  • Administer labels
  • Manipulate security settings
  • Check in other users' changes

If you want more information about the specifics for Version Control privileges, check out MSDN at:  http://msdn2.microsoft.com/en-us/library/ms252587(VS.80).aspx

If you are facing this same issue and believe that it should be a feature in the product, help out by voting on the feature suggestion on Visual Studio Connect:  https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=307874

 

Ed B.

posted on Wednesday, October 31, 2007 5:00:49 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Saturday, October 13, 2007

So there is a huge problem with uninstalling the TFS Power Tools if you have them installed on Windows Vista.  This becomes particularly a problem when you want to upgrade the TFS Power Tools (which I was trying to do to the version just released a few weeks ago.)

If you try to uninstall the regular way, you get all sorts of errors like:

Error 1722. There is a problem with this windows Installer package. A program run as part of the setup did not finish as expected. Contact your...

Seriously - it sucks.  I even got fed up and finally decided to rebuild my machine at work (this particular uninstall experience wasn't the only reason for rebuilding my work laptop but definitely was the tipping point!) :)

Anyhow, just to save you a lot of problems, open up a command prompt as an Administrator and run:

msiexec /x {C802488F-CB5F-48BE-BBD2-0C0F9E290E63}

Click "Yes" to the next prompt and you should have a clean uninstall!

 

Ed B.

posted on Saturday, October 13, 2007 2:03:33 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback
# Friday, October 05, 2007

VS 2008 has added a new feature called Code Metrics (CM). Code Metrics is a way to produce actionable information on a project or solution. When you generate CM on your code it produces such things as Maintainability Index, Cyclomatic Complexity, Class Coupling, Inheritance depth and lines of code.

Here is a brief description of each:
Cyclomatic Complexity: How many paths of execution are in your code. i.e. Enter a Method, That's 1, Hit an If, That's 2, Hit an Else, That's 3. This has a Cyclomatic complexity of 3. Here is more robust definition.
Class Coupling: Indicates how many other classes relate to this class
Inheritance depth: The level of inheritance
Lines of code: Self explanatory, everyone's favorite
Maintainability Index: An aggregate of the above metrics.

Each of these are shown at the assembly level then it allows you to drill down to the namespace, class and method level.

Why is this so cool? Being able to produce and show these metrics allows you to better manage existing code and produce more manageable new code, which in turn pushes you and your team to code to better standards. These metrics are actionable, meaning they enable you to do something with your code by visually displaying the information and giving you the ability to actually assign a work item right from the Code Metrics result window and attach the information to it as well. 

This is only one tool in the suite of tools within VS 2008 that will enable and guide you to produce better, more secure and performant code. Harness the power of them all!

The Code Metrics result window; user adding a work item based off metrics:
image

 

Work item created from Metrics. Notice the how the work item has all the information attached via the "History" tab.
image

 

Ed K.

posted on Friday, October 05, 2007 7:47:40 PM (Central Standard Time, UTC-06:00)  #    Comments [0] Trackback