Sunday, May 20, 2007

tf4mono version 0.4.4

I've pretty much implemented all the features I'm looking for in a Team Foundation client for Mono, added all the usability enhancements necessary for things like password caching in the gnome keyring, and added some configuration extras for those who don't like the default behavior of the TF SCM client. Its all packaged up into the 0.4.4 release of tf4mono.

I tried taking a crack at implementing a TF version control plugin for MonoDevelop, but the way TF works is so much different than SVN, that I'm having second thoughts about this approach. I'm thinking now that maybe I should base something off of the Mono.Addins infrastructure. TF has all this stuff about workspaces, mapped paths, read-only files till checked out, etc. that don't mesh well with the traditional SVN/CVS model. Its more akin to Visual Source Safe.


Phil said...

Can you give an example of checking out code from Codeplex?

jr said...

Here's an example with the "Turtle" CodePlex project.

First create a workspace:

tf /server: /login:snd\\UID,PWD
workspace /new "MACHINENAME;UID"

Then map "Turtle" project to a local folder:

tf /server: /login:snd\\UID,PWD
workfold "$/Turtle" ~/Source/turtle

Then pull the files:

tf /server: /login:snd\\UID,PWD get
~/Source/turtle /recursive

Now, to edit the "License.txt" file:

cd ~/Source/turtle
tf edit License.txt

This makes the file writable. To see what you have checked out:

tf status

To check License.txt back in:

tf checkin /comment:"My comment" License.txt