6

I'm new to TFS, coming from an SVN background. I'm looking to set up TFS for the first time, so we're making design decisions.

We plan on having binaries shared between team projects, and the recommended solution for this seems to be to make a team project specifically for the binaries.

The recommended directory structure for the main codebase seems to be:

/DevProjects/TeamProjectName/Main/Source/ProductName/Source/ProjectName

So my binaries would be at

/DevProjects/Binaries/

In my .csproj files, I'd reference the binaries as

../../../../../../Binaries/{BinaryFile}

This is fine for the main codebase, but also in the recommended standards is to put the branches as:

/DevProjects/TeamProjectName/Development/BranchName/Source/ProductName/Source/ProjectName

This is one level different from the main codebase, so the .csproj files wouldn't reference the right places.

My options seem to be to use an absolute path in the .csproj files (which I wouldn't even know how to do in the IDE since it does relative paths by default), or to branch differently from what I'm reading.

Any suggestions?

Joe Enos
  • 39,478
  • 11
  • 80
  • 136

2 Answers2

5

We make sure our branches are at the same depth as it would be in trunk. That way relative paths work in both places without modification.

Alex
  • 12,749
  • 3
  • 31
  • 45
  • Doesn't that get messy as you get more and more branches? Or do you kill the branches altogether once you're done with them? – Joe Enos Dec 08 '10 at 19:32
  • We keep branches side by side while they exist, so it doesnt seem messy. But, yes we kill them once we are done. – Alex Dec 09 '10 at 12:40
  • Thanks, I'll keep that strategy in mind - seems like it would work well. – Joe Enos Dec 09 '10 at 15:18
  • I am in a similar situation - I think I will opt for the keeping dev branches at the same level unless I can find a better solution... Cheers :) – Malachi May 17 '11 at 10:05
2

Checked this place out. It talks about different branching concepts.

http://tfsguide.codeplex.com/

JkenshinN
  • 331
  • 2
  • 9
  • 1
    That's actually where I got most of my info. Unless I'm missing something, it just suggests either not doing what I'm doing (having shared binaries between team projects), or branching out binaries into the individual team projects, which would require merging from the source into the team projects whenever one was added - I suppose I can do this, but I'd prefer not to have to take that step. – Joe Enos Dec 08 '10 at 19:49