Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

A client of mine is using TFS and asks people to operate in this manner:

  • The developer in India writes the first draft of code
  • The code is published to a workspace (eg 10.1.1.1\TFSName Project:FromIndia Folder:\My.Assembly.Name)
  • The code is reviewed by an internal employee
  • To help ensure a full comprehension of code, the code is copied to a new workspace (eg 10.1.1.1\TFSName Project:InternalCode Folder:\My.Renamed.Assembly

Now the client wants to allow India to reference the code located in 10.1.1.1\TFSName InternalCode for support purposes. They also want them to propose changes to the running {production} code.

Is this an effective use of TFS server? What is a better approach?

share|improve this question
add comment

2 Answers 2

up vote 4 down vote accepted

I would probably do one of the following.

  • Create a branch for the developer in India to work in. Merge his code when it's been reviewed
  • Have the developer in India "Shelve" his changes when they're ready to be reviewed. Unshelve them when you want to review, and check them in when complete.

Manually copying things between workspaces seems like it would be tedious and error prone.

share|improve this answer
1  
It might also not be a bad idea to create a "Review" branch that the India developer would merge into once his changes are ready. Then the approving developer could merge the "Review" branch over to the next level. –  Joel Etherton Apr 15 '11 at 14:02
add comment

Handling the code review through a separate branch and then merging is a good option (mentioned by Brook).

Another option would be to use shelving and a code-review check in policy as created here.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.