views:

437

answers:

2

At work, we use Team Foundation Server for source control. I work from home a lot, though, and external access to our Team Foundation Server isn't possible now or in the foreseeable future. I'm utterly fed up of using email/usb source control - almost as bad as no source control at all - so I was thinking about bringing the project(s) home via email or USB and committing them to a subversion server (probably on one of my own computers, although the free Subversion facilities offered by http://xp-dev.com/ might be an option: I could commit changes to there from work and pick them up from home).

Installing a local Team Foundation Server and editing the appropriate files to point to it would be possible as I have an MSDN license, but somehow I don't think that would work (and I don't even know where the address of the Team Foundation Server is stored, and I've looked in the obvious places like the ???scc files.)

I used Subversion previously for my own projects, with TortoiseSVN as the interface, but as I've got used to the convenience of being able to move and rename files from within Visual Studio I expect I would use AnkhSVN in Visual Studio, then use TortoiseSVN's Export function to get a clean copy of the project to take back to work to check in. What I'm worried about are conflicts arising from a project being managed by two source control providers. Is this even possible in Visual Studio (2008)? It gets cross enough that the Team Foundation Server isn't available when opening a project at home. Has anyone done anything similar? I know I could just try it and see how it works out, but I'd like to know in advance of any potential pitfalls.

Edit: I can't VPN into work for the same reasons I can't access the Team Foundation Server remotely. I surely would like to..

A: 

Hi,

I think yes is the answer to your question.

Personally I was going through the same USB SVN etc hell.

Currently I am using the Live Mesh Beta to have a folder sync'ed between my workstation at work and home.

Using Git for personal version control makes it completely non conflicting (as far as I have noticed) with the TortoiseSVN, foundation Services, or any other version control you can think of.

It works wonders for me, just yesterday I did a new application from home, got this morning to work and its here, because of the syncing, independently, I can commit/rollback/diff at any time with Git, from any machine, not having to worry about the server/service from other machines.

Because its automatically synced by Mesh, I don't even have to submit/push changes. Just using the version control to monitor my "DONE" stages, and follow personal progress on the projects.

Sorry, Re-reading your question, I thought I might add this [Edit]:

Git as I use it is not directly FROM inside a plugin say in Visual Studio, I do pull up a command prompt window to perform commits, but I use it with Projects for which I use Visual Studio to develop with.

I just thought about giving you my success story because it might be helpful to you.

Ric Tokyo
+1  A: 

SVN uses a hidden .svn or _svn (depending on your config) folder to keep track of you local files and their state. I'm not sure how TFS tracks local file state but there could be a potential conflict.

We use SVN for source control and I work both from the office and at home and on client sites. Our SVN server is only available via VPN. TFS will work over VPN do you have VPN? If not you should make a case for having it setup in your company as it will enable you to function like you are on the company network enabeling you to access fileshares or RDC into company dev, test or database servers when you need to. As a programming I think it is vital to have this sort of access if you are working remotely. As you have TFS setup you will have to have a doman setup on your network so adding VPN functionality to your company gateway machine is a simple task.

Damien McGivern