开发者

Teamprojects in subfolder not as root

I try to set up a new structure to a new TFS repository and I try to map team projects to subfolders in a structure like this:

Root

  • Trunc
    • (TeamProject)Proj1
      • SubProj1
      • SubProj2
      • SubProj ...
    • (TeamProject)Proj2
      • ...
    • (TempProject)...
    • Global
  • Release
    • Proj1
      • SubProj1 V3.5
        • Proj1(Branch)
          • SubProj2(Branch)
          • SubProj4(Branch)
        • Global(Branch)
      • SubProje1 V3.6
        • Proj1(Branch)
          • SubProj2(Branch)
          • SubProj4(Branch)
        • Global(Branch)
      • SubProje2 V2.1
        • Proj1(Branch)
          • SubProj1(Branch)
          • SubProj7(Branch)
        • Global(Branch) ...
    • Proj2 ...
  • 3rd Party Libs
    • Lib1
    • Lib2

This is about the structure we are used to work with in differenc scc-systems so far and we try to unite them all to the new TFS repository.

In our view this structure has several advantages:

  • The team-project functionality of TFS (Work Items, Builds) is sepparated for each team in the company and the lists of i.e. builds are not too long to search through to find the specific subproject.
  • To map the repository to local hard drives we only have to synchronize the "Trunc" path of the repository and the "3rd party libs" path and avoid to load all branches of the last 15years to each hard disk (gigabytes of trash). The Trunc main subfolder contains only the active source-code that each of us use every day.
  • To bufix/recompile a certail branch we only check out the specific subfolder within the releases (i.e. /Release/Proj4/SubProj2 V4.5/*) which is only some megabytes of size. After Rebuild we can remove the mapping of this subfolder from hard disk...

I looked arround in the web but it seems that TFS is too strict in its structure and that team projects only can be located in the root of the repository. Is that possible? Isn't there a way to manage the team projects in one location and handle release-branches in another? And what about self developed common libraries that are used from several team projects?

In our repositories (several) whe have hundereds of projects that are grouped in different topics. I'd like to make team projects for the topics and manage the actual projects by different subfolders within the team projects using separate .sln files. But I really would like to sepparate the release branches from all the active sources..开发者_如何学Python.

Is there a way to handle this?


Thank your for your answers, I was afraid to hear what you acrually answered...

We have several team projects that use the same base libraries. In a release branch we usually branch these base libraries too to have a stable stand of those libs. In TFS when I use different team projects for the applikations and a sepparate team project for the base libs, can I then make a release branch of my App1 i.e. "App1 V3.2" that has the path of my app branched an in addition the path of the used libraries? Or do I have to branch the base lib team project too whenever I make a release branch of any application? How can I then ever find the right release of App1 to the right release of my i.e. base lib3 and base lib5?

Why must everything from MS be so complicated? Its a cool system at the first glance but then, when you try to use it, it turns out that you have to completely change your way of working to the worse...

Can I use TFS ONLY as scc like perforce, subversion or others? Is there a way to get rid of the team-project-root-level? Or is there a way of defining sub team projects?

Ok, when I decide to make ONE big team broject i.e. "Developement" and have a subfolder structure similar to my first draft, what about the items/builds? Can I put i.e. builds in groupbs that represent the actual applikation (I named it subproject in my draft)? Otherwyse we would have a list of hunderets of builds in the "Developement" team project and thousands of items that belong to completely different teams in the company...


A team project is indeed in version control only at root level. But what you want to do is creating multiple branches. That is perfectly possible with TFS. A good read is the branching and merging guide on codeplex.

To restrict what you want to download on your local machine, that is to be defined in your workspace.

Hope this helps you. If not, let me know what information you need more.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜