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.