Link to home
Start Free TrialLog in
Avatar of Sam OZ
Sam OZFlag for Australia

asked on

team foundation server

Hi ,

  I am programmer  and  a user of Team foundation server ( on TFS more at a beginner level)   .  Currently during the development , I am asked to do the following
   
     Checkout "my latest work folder" ( this term is explained below)
        When a release comes during development for testing ,  Create a new folder  ( naming folder as Projname_CurrentDate . For example if ProjName is XYZ and today is 2015/08/03 name is XYZ_20150803)
Even if a minor modification comes , create a new folder in TFS  and upload release in it)

 Is this approach really recommendable ? Infact, it potentially will have around 100 folders , which in my opinion is not a good idea

   My opinion is to have a single folder ( or  folder per revision and not each version)  .

   Can I get some expert advice on this ? ( Also, I am not quite sure how a new version is created   in TFS )

   Also, Is branching the way how  another guy developing some  of the modules will branch out and develop his modules ?

       I have attached a snapshot of how TFS folders look like now. Project name is erased for security reasons
   Thanks
TFS-Snapshot.jpg
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Here are my recommendations:

1) Structure

ProjectA
    Main
    Development
        Version1.1
    Release
        Version1.0.0
        Version1.0.1
        Version1.0.2
ProjectB
      Main
      Development
      Release

2) Main trunk should always build without errors--strive to never break the build.  

3) When you need to create a new version or test out a large code change or refactor operation, branch from Main into Development folder with version.

4) Have a few people do merges from development branches into Main trunk, to reduce risk of breaking the build.

5) Do all your work in Team Explorer, or Visual Studio IDE so that TFS is kept in sync.  This means don't do any work in Windows Explorer, like renaming folders and files.

6) Make sure file paths are relative, so that when you branch into a different project folder the folders don't have to be changed.  Assembly references, and project paths are relative, so you won't need to worry about them.
Avatar of Sam OZ

ASKER

Thanks Bob.

    The point that I still annoys me is -

     A release (version 1.0.0)  is given  to the Test guys . Some minor error is found .  Do I need to  create a new version just with the correction ?  During the couple of days of testing , sometimes similar things can happen 10-15 times ( Is this not enough to checkout and make changes and then checkin ?  Do we need to create a new folder by name Version 1.0.x for this ? )

 Also, Another point I am not sure is , How multiple people make changes in TFS environment ( If it is disconnected mode) .  That is -   Programmer1 is working on Page1 and Programmer2 is working on Page2 . How  each get a copy work on it  and merge later ( Programmer1 may have a release today for testing  and Programmer2 have a release tomorrow)

 Thanks
ASKER CERTIFIED SOLUTION
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial