I started my journey on Thursday when I tried to automate the task of closing Visual Studio doing the git checkout and then starting Visual studio again. I failed on that account, and I found that my win7 installation was a bit corrupt, but I got some good help and a comment that got me thinking. So I continued on my quest and on Saturday I installed powerconsole and found what I could do with it. By the end of the day and many blogposts later I found a solution that worked. Here is that solution.

Function checkout($branch)
{
  solutionworkingdirectory
  $filename = $dte.Solution.FileName
  $dte.Solution.Close()
  git add .
  git commit -a -m "auto commit before checkout"
  git checkout $branch
  $dte.Solution.Open($filename)
}

Looks very simple and elegant indeed.

The only problem being that even a successful checkout seems to result in a exception. But it does not bother me to much. I can now do everything from within Visual Studio and I saved a few keystrokes at the same time.