Team Foundation Server is a proprietary, commercial version control system from Microsoft.


Integration with vc is provided by the vc-tfs package available from


This elisp module provides basic integration. It works with regular TFS, and also with

Here’s the source:


I wrote an updated version of tfs.el, you can find it in

Many thanks to the original tfs.el author for permission to modify the existing code. – SebastianMonia

Basic Setup

   1. Place `tfs.el' in your `load-path'.
   2. In your .emacs file:
        (require 'tfs)
        (setq tfs/tf-exe  "c:\\vs2008\\common7\\ide\\tf.exe")
        (setq tfs/login "/login:snd\\userid,password")
   3. also in your .emacs file:
        set local or global key bindings for tfs commands.  like so:
        (global-set-key  "\C-xvo" 'tfs/checkout)
        (global-set-key  "\C-xvi" 'tfs/checkin)
        (global-set-key  "\C-xvp" 'tfs/properties)
        (global-set-key  "\C-xvg" 'tfs/get)
        (global-set-key  "\C-xvh" 'tfs/history)
        (global-set-key  "\C-xvu" 'tfs/undo)
        (global-set-key  "\C-xvd" 'tfs/diff)
        (global-set-key  "\C-xvs" 'tfs/status)
        (global-set-key  "\C-xva" 'tfs/annotate)
        (global-set-key  "\C-xvw" 'tfs/workitem)
        (global-set-key  "\C-xv+" 'tfs/add)
        (global-set-key  "\C-xv-" 'tfs/delete)
        (global-set-key  "\C-xvc" 'tfs/changeset)