views:

35

answers:

1

We have a local Team Foundation Server 2008 that we keep our code under version control. However, we also have a paranoid client that has their own Visual Source Safe installation that wants us to keep a running copy of the code on their server as well. As such, I'm hoping there is a way I can just do a nightly push from our TFS repository to their VSS repository.

I'm not concerned about keeping each changeset on TFS as a different changeset on the VSS, just a once-nightly push that creates a new changeset on the VSS and uploads the latest changeset from TFS.

I guess the first part is if it is even possible for TFS to push an update to VSS. I've noticed that most replies to this question have been something to the tune of "don't do it", but I can't find anything that specifically states that it cannot be done. The second part would then be automating the process by having the TFS server connect to the client's VPN, then push the code changes.

I have full control over the TFS server and I can customize the VSS install, if there are settings that need changing, but I'm limited on what I can do about settings on either firewall or server specific settings on the client's VSS server.

A: 

I'd probably suggest setting up a nightly build with a script that doesn't have a solution to build. Instead the script can pull down the latest TFS code like normal but instead of building anything just override the after get target and use the MSBuild community tasks (which have some VSS tasks in them) to talk to VSS and make updates as appropriate.

As far as connecting to the VPN I think that might be something that requires a custom build task to establish and drop the VPN connection. It shouldn't be too hard to write one as custom MSBuild tasks are pretty easy to implement.

Regardless, good luck! Sounds like you need it ;-)

Richard Banks
Thanks for the info. It sounds like this is about as close as I'll be able to get. Do you have any good links that can get me started on putting the necessary MSBuild routine together? There's a lot of information out there about MSBuild, and I'm having trouble finding the pieces that apply to this situation.
drovani