Answered Recommended way to deal with "hotfixes"...

  • 07 Maret 2012 13:28
     
     

    Hi,

    Suppose that we have one branch of "GoodProduct" and it is currently at version 1.3.5 (trunk).

    On of our customers are running version 1.1.2 of this application/product. And unfortunately we detect a bug that needs to be fixed. We can't just fix it in the current source and update the customer to this newest version. However we need to pull the "1.1.2" label from source, fix the bug and install that new "hotfix" at the customer.

    What is the recommendations in this scenario? My concerns are:

    1. Should we create a new branch for this hotfix?
    2. We already have a label called "1.1.3" in TFS for this product. What version will we install at the customer?
    3. How do we check this into TFS?
    4. How should we merge this fix into the current branch (trunk)? Manually or always try auto merging?

    --
    Werner

Semua Balasan

  • 07 Maret 2012 17:42
     
     Jawab

    It is probably not the best idea to rely on labels, labels can be manually modified as well. The best approch would be to branch your releases, the branch unless modified is a file reference on the server and does not take any space. 

    Now that you have a label, you can create a branch off that label, lets call the branch 1.1.2. Fix the bug in branch 1.1.2, test the fix, build and deploy to customer. Reverse merge the fix from branch 1.1.2 to good branch. This would give you an opportunity to test the change in good branch and roll out the fix as part of the standard product in the future. 


    Please remember to mark the replies as answers if they help.

    Tarun Arora

    Blog: http://geekswithblogs.net/TarunArora  Subscribe in a reader

  • 07 Maret 2012 21:55
     
     
    I think you'll be interested in the Branching Guidance: http://vsarbranchingguide.codeplex.com/

    My blog: blog.jessehouwing.nl

  • 09 Maret 2012 3:05
    Moderator
     
     

    Hi Werner,

    How about the issue now?

    Our friends have provided information in the reply.

    If anything is unclear, please free feel to let me know.

    Best Regards,


    Lily Wu [MSFT]
    MSDN Community Support | Feedback to us

  • 12 Maret 2012 8:58
     
     

    When you create a new branch the files are duplicated on your workspace on disk, but inside TFS only a record is created. As long as you don't make any changes to the branch, it will not cause any overhead on the server.

    The change in how labels work, for some people, is a great surprise. It isn't clearly visible in the UI. But it is how they work. Brian Harry wrote a blog post back in 2005 explaining why this decision was made:

    http://blogs.msdn.com/b/bharry/archive/2005/11/18/494439.aspx 


    My blog: blog.jessehouwing.nl

  • 12 Maret 2012 8:59
     
     

    Thanks both. I have some derived questions that I felt needed a new topic. I'd appreciate if you took 2 min to read this.

    --
    Werner