distributed development environment

Background:

We have a distributed development environment and some development is outsourced. We have all the code in team foundation source control. The offshore team does not have access to the server due to firewalls. They ship us the code and we need to merge it into our source control.

Question:

What is the best way of merging their code into source control?

We tried the following but did not work:

1) Do a global checkout to my workspace

2) From windows explorer, overwrite all the files(source files as well as project files)

3) Do a checkin.

I was hoping that I would be prompted for resolving the changes at step 3. Instead it actually checked in all my files as a new copy into source control. When I open Source Control Explorer, I now see 2 copies of each file.

Can somebody suggest a way to merge new code(not in source control) into existing code(in source control)?

Thanks!

[975 byte] By [psudame] at [2008-2-15]
# 1
TFS works best when everyone can be connected to the server. Ideally your offshore team would have access via a source control proxy, using TFS permissions to restrict them appropriately. That's probably beyond your control though.

The most important thing is for someone to maintain a workspace that corresponds to the code you send offshore. In other words, make sure not to do any Get commands in this workspace after you've sent them the code. That way, when you receive updates from them, the changes they made will be pended against the correct version of the files. Only then can TFS determine which updates can be accepted and which will require content-merges.

Overall, your scenario is pretty similar to "offline" support. I'd try tfpt online and see if it helps.

When I open Source Control Explorer, I now see 2 copies of each file.

Can you explain this? The only way 2 copies of the same file can show up is if (a) 1 of them is deleted and you have "show deleted items" turned on (b) the files have different names or are in different folders. (a) is no big deal, just confusing the first time you see it. (b) implies that your offshore team is renaming/moving files around -- I'd advise them not to, unless they also send you instructions on exactly what renames/moves to pend, otherwise it'll just confuse things.

RichardBergMSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - Version Control...
# 2

I am not sure how we got 2 copies, but its quite possible we might have accidently deleted them, not knowing what we were doing

I do like the idea of maintaining a separate workspace for the offshore team. I will give that a try.

I have one more qustions though: When we get the modified set of files, is it ok to overwrite the workspace files from outside the IDE?

Thanks!

psudame at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - Version Control...
# 3
Yes. You can either checkout everything -> modify files -> checkin (the checkin process will detect which files haven't changed), or you can use the powertoy.
RichardBergMSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - Version Control...

Visual Studio Team System

Site Classified