GIT-TFS Instruction: Add Directory to Your Path?

February 7, 2012

Nerd, TFS

Spoiler Alert: You can find the answer here.

We use TFS at work.

Because I believe git could be a great solution for a workflow challenge we’re having on one of the accounts I was just assigned to, I decided to experiment with git-tfs.

Here are the installation instructions from the gittfs github repository:


I understand that many C# developers came from Java, thus had to get VERY familiar with instructions like, “Add the directory that contains git-tfs.exe to your path,” but I feel compelled to mention it is a pretty big road blocker to someone who has never seen or had to do that .

Just a Windows Girl Livin’ in a GUI World

Ok, that was an ode to Jon Skeet’s “Glee” Pecha Kucha Codemash 2012 “Don’t Stop Believing” ending, but if you can relate to that header, I wanted to share a link I found interesting. A Brief History of UNIX is a great Unix 101 for Windows devs, with examples that do a good job of providing reference comparisons.

But back to the point of this post: I came from Mac (way back) to Windows. I am not familiar with UNIX environments. I launch installers to get programs to run from my machine. Yes, I’ve been spoiled, and it’s been quite lovely, but I’m now really trying to embrace this unfamiliar command-line environment territory, and that little assumption that I knew what it meant to add a directory to my path made me lose a day I could have been actually experimenting with git-tfs, instead of trying to understand how to just get git tfs commands not to say “not found.”

Am I trying to bag on the author of Git-tfs?
Not at all – it’s just where I hit a roadblock, so I’m using it as an example.

In their defense, should I have “just known” how to do that?
Maybe. I‘ve just never had to know for anything. That’s all. Now I’m aware.

Have I ever done it before?

If I’ve never done it before, is it possible others might hit the same roadblock?
Maybe, that’s why I’m writing this post.

Did I get pissed when my Google search returned multiple results saying stuff like, “just add it to your path – that’s so trivial” without explanation of HOW do actually do it?
Yes. (Isn’t everything “trivial” once you know how to do it? Sheesh. Any reply that answers with how trivial the answer is, is a friggin’ @sshole response, btw, and an attitude I haven’t seen in the c# world – what’s up with that?)

Am I trying to make the author do crazy, explicit documentation? Not necessarily, although James Yu made some great points in his post on Designing Great API Docs.

In this case, a simple hyperlink to something like How to set the path in Windows 7 (great article with interesting info btw!) could have meant the difference between someone bringing Git to work to use it with their TFS environment & abandoning it altogether (because the one day their schedule allowed for them to actually try to use it was spent banging their head against a wall because of an installation instruction assumption).

The Curse of Knowledge

If you’re not familiar with The Curse of Knowledge, @tomjohnson did a great job summarizing it in a context developers can relate to when he posted, “The more you know an application, the better poised you are to write a good help file. But the more you know an application, the more familiar you are with it, and so you are less likely to write a good help file.

To all of you wonderful people paving the way for the rest of us – yes you with the UNIX backgrounds that make command-line so intuitive to you, please, please go easy on us =)

Git was initially designed and developed for Linux. By bringing it to Windows, command-line-and-all, with it you are bootstrapping your own Curse of Knowledge.

I suspect I’m not the only one for whom Git is acting as the gateway to cross that command-line & deeper-OS-internals-understanding threshold. Please just take a moment to think about instructions that are atypical for those of us who are used to programs “just working,” post-install.

8 Comments on “GIT-TFS Instruction: Add Directory to Your Path?”

  1. David Alpert Says:

    all fair, but install msysgit for windows and take the git bash shell for a spin. it runs on windows with a unix-like feel and has replaced powershell and cmd.exe for me whenever I work with git.

    we also use TFS at the office where I work and I find git so superior as far as source control flexibility and power that I lean on git-tfs for nearly every checkout and checkin.


  2. ang3lfir3 Says:

    I added some examples and linked to the same info you included… as a pull request… in your honor….


    • TruncatedCoDr Says:

      Awesome – will the display of that file here automatically update?


      • ang3lfir3 Says:

        as soon as the owner decides to merge in my changes it will update the readme which will update the display of the file :)


        • sparethought Says:

          Merged, thanks for your contribution.

          You point is obviously valid, though it seems that most people working with git already familiar with command line. GUI tools are often… not flexible enough. History, committing and diffs are the only things I don’t use console for :)


          • TruncatedCoDr Says:

            I had a similar response on Twitter reminding me I had to do this with Windows 3.1. But here’s the kicker: I didn’t…

            Win98 had a retail release date of June 25, 1998 (over 13.5 years ago).

            My first (non-Mac) pc had Windows 98, so I missed 3.1 altogether. Although I was on a Mac when 3.1 was the OS, I assume many in high school & college now who were between newborn and say, 12yo in 1998 were too young to be on a computer familiarizing themselves with command line in the Win3.1 days.

            The tools I’ve used on my own path from programming front-end web to C#.NET (skipping Java, where I understand modifying the path was common) have just never required me to know that.

            The only version control systems I’ve used at work have been TFS, Surround SCM, VSS, and of course everyone’s favorite zip files. I’d think, particularly if one is looking for a GIT-TFS bridge there might be a higher likeliness that it might be to integrate something into their work environment that isn’t necessary or supported or required by work (GIT), but just desired by the individual for personal efficiency, learning & gain, but I can only speak for myself, as that is why I myself am exploring GIT.

            PATH now seems easy, but before doing it or hearing of it, stopped me, personally in my tracks until I asked one of sys admins (incidentally, with a unix background) what that meant.

            In no way are YOU responsible for what I don’t know, but I very much appreciate your merge & I love that you added the ps command, as well as the link to how to do it the “windows way.”

            p.s I did TWO successful tfs commits using git tfs checkintool yesterday, & even with the pessimistic locking our TFS repos at work have, git-tfs worked perfectly. I am seeing the light =)




  1. Dew Drop – February 8, 2012 (#1,261) | Alvin Ashcraft's Morning Dew - February 8, 2012

    […] GIT-TFS Instruction: Add Directory to Your Path? (Cori Drew) […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: