Announcing posh-tf


As you may or may not know, I’ve been a fan of Git for a while now. I’ve hacked on an implementation of it, I’ve presented on it, I’ve even built a PowerShell environment for it that’s used by at least twelve people that aren’t related to me. Until a few months ago, I was content in my little Git bubble.

But recently I’ve been working with a team that has broadened my horizons and imparted a valuable lesson to me: “there’s nothing Git can do that TFS can’t.” Now if you’ve been following me for a while, you know this has been patently untrue. Until today.

Announcing posh-tf

Obviously the killer feature that TFS lacks as an alternative to Git is that it doesn’t integrate well with PowerShell. According to the UserVoice suggestion, at least one person thinks this needs to be remedied. And so I am pleased to present posh-tf: a PowerShell environment for Team Foundation.

posh-tf provides everything that posh-git provides, except for the things that aren’t readily available from tf.exe:

  • No current branch information
  • No file status information
  • No tab completion for new, modified or deleted files
  • No tab completion for branches, shelvesets, etc

Actually, it would probably be easier to just list what it does provide:

  • Tab expansion for commands: tf ch<tab> expands to tf checkout
  • Tab expansion for help: tf help ch<tab> expands to tf help checkout
  • A prompt hook if someone can figure out a way to get current directory status.

Can’t wait to get started? The readme has everything you need!

I’m thrilled with what I have to release today, and am looking forward to working with the TFS community to make posh-tf even better!

ASP.NET Web API List Parameter Binding