1

recently i was embarking on new project. it is giving me this time try to make my tfs structure more solid put some betterment on my recent version. so here it s

branch release

trunk

bin
docs
src
  sln.file
   project1
   project2

tests
  sln.file
   project1.test
   project2.test    

since test projects will not be branched this make sense. however I was contemplating is it better to keep test projects within same sln. though it s my preference how can than I refer to them withing working dev solution.

John Saunders
  • 160,644
  • 26
  • 247
  • 397
mobygeek
  • 193
  • 2
  • 14

1 Answers1

1

http://tfsbranchingguideiii.codeplex.com/ Also, I don't know what you call the "test projects", but if they change when your main code changes, then they should be branched with your main code.


Here's a brief description of how I set up a small application recently. I have not yet moved larger larger applications, so haven't yet dealt with things like libraries of common code.

$/TeamProject
    /Development (folder)
        /Development (branch)
            /Lib
            /Src
               etc.
    /Main (branch)
        /Lib [third party binaries and other artifacts]
        /Src
            /Solution1
                Solution1.sln
                WebApplication
                    WebApplication.csproj
                    etc.
                WcfServices
                    WcfServices.csproj
                    etc.
                DAL
                    DAL.csproj
                UnitTests
                    UnitTests.csproj
            /Solution2 (same pattern as Solution1)
    /Release (folder)
        /Release (branch)
            /Lib
            /Src
               etc.
  • I have a CI build set up for the Development branch, building the "Dev" configuration. We deploy it to our Integration environment.
  • I have the nightly build set up for our Main branch, building the "Test" configuration. When QA wants to test a new build, they deploy the latest of these to the QA environment.
  • I have a manual build set up for the Release branch, building the "Prod" configuration. When we're ready to migrate to production, QA first tests the deployment process in their environment (will be a staging environment once we get one), and then Operations deploys this to the Production environment.
John Saunders
  • 160,644
  • 26
  • 247
  • 397
  • "test projects" in my previous post refers to mainly "unit test projects". see no reason to branch them . thanks though i checked the link could no find the answer to my question. – mobygeek Oct 01 '11 at 20:56
  • Don't you run your unit tests on every build? Of course they need to be branched along with the rest of the source code! – John Saunders Oct 01 '11 at 20:56
  • The link I posted includes a lot of content, including a document on branching guidance. Did you read it already? If not, then you're missing out on the best practices for branching in TFS 2010. – John Saunders Oct 01 '11 at 20:57
  • i have not setup yet build server for my project. however i am getting there. my structure resembles to this http://msdn.microsoft.com/en-us/library/bb668992.aspx. yes i agree the valuable however i m just trying to implement very simple scenario will increment by time. as it s additive. – mobygeek Oct 01 '11 at 21:05
  • can you pls indicate where you usually put your solution file? thank you. – mobygeek Oct 01 '11 at 21:12
  • You should stop now. You're looking at outdated information. Please _read_ the information at the link I posted, as TFS 2010 has new features that make branching very different and _much easier_ than previous releases. – John Saunders Oct 01 '11 at 22:02
  • John thanks for the clarification. one more question though a bit naive. currently i am struggling with grasping concept of builds. i kind a follow recommendations and want to put builds folder under my source control. idea was gonna be placing my build types. in your case you have three of them. but i could not find a way of indicating the path while i was creating the build type it always appears somewhere different. did i misunderstood i.e. was the recommended bulds folder under source control for buildtypes or for build output. could you please give some hand. what is your take? thanks – mobygeek Oct 09 '11 at 09:49
  • You're not so much naive as totally off track. Seriously, have you learned about TFS through Google and not from Microsoft? Start with [Visual Studio Application Lifecycle Management](http://msdn.microsoft.com/en-us/library/fda2bad5.aspx) or read a book. You're finding some really wild ideas out there on the Internet. You're finding articles that assume the reader knows something about TFS. – John Saunders Oct 09 '11 at 16:29
  • fair enough John. my questions are might be off track. but i am not really trying to impress someone with my wild question. i m eager to learn in right way. yeah i read articles along with books. since books are keep repeating mainly theoretical information. my questions regarding sort of structure given in many places one of them please see the [stackoverflow.com/...](http://stackoverflow.com/questions/2684685/organizing-source-code-in-tfs-2010/2782463#2782463) in one of proposed answers we can see the build folder. what is this build folder should contain? thanks for your help. – mobygeek Oct 09 '11 at 17:13
  • Really, go read the information on MSDN on that link I posted. It's not theoretical. I also don't know what books you've looked at, but try [Professional Team Foundation Server 2010](http://www.amazon.com/gp/product/0470943327?ie=UTF8&tag=blankenship-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0470943327). You will not develop a coherent understanding of the subject by reading random articles written at different times and for different purposes. – John Saunders Oct 09 '11 at 19:17
  • true enough. i was about to name very same book along with [pro alm with tfs 2010](http://www.amazon.com/Professional-Application-Lifecycle-Management-Programmer/dp/0470484268). even here martin was refering to his chapter he has written on tfsbuild. however where am i we usually we dont benefit build servers and branching. mainly coz projects are simple.i was trying to remimick this in my virtual environment.unfortunately there is no one around whom i can ask around accept sending out the questions in net. though thanks a lot. my bad if i wasted your time. thanks again. – mobygeek Oct 09 '11 at 19:47