none
TFS Shelfsets: How to share pending changes amongst multiple devs...

    Question

  • Shelfsets are great if only the originator is persisting their own work to an intermediary hold within TFS. However, when sharing shelfsets between multiple developers is problematic.

    I have a senario whereby myself and another developer are working on the same solution, and each of us have a shelfsets to hold our own pending work in progress.

    If I try to unshelf the other developer's shelfset, then I cannot have anything pending within my environment, else I get an "incompatible pending change" error from TFS.

    If I do unshelf his shelfset into my environment within nothing pending, then his pending changes becomes my pending changes.

    For example, if he has pending file additions, and I unshelf his shelfset, then I have pending file additions; which in turn, I cannot get any updates to his changes to any of his pending file additions, because I have an “incompatible” state to see his changes.

    Common TFS error is when unshelving a Shelfset into the same solution with pending changes in my environment:

    TF203015: The item $/FOO/Bar.aspx.cs has an incompatible pending change.

    Is there a way for developers to share the shelfsets with other developers working within the same solution who also have their own pending changes?

     


    Thanks
    Jeff in Seattle


    • Moved by lucy-liuModerator Wednesday, November 16, 2011 8:42 AM it is a tfs issue (From:Visual Studio Editor)
    • Edited by jeff00seattle_2 Wednesday, November 16, 2011 7:24 PM
    Wednesday, November 16, 2011 1:30 AM

Answers

  • After a little reasearch, I find that we will need to use the TFS Power Tools to gain the ability to merge shelvesets.

     

    http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

     

    Installing the Power Tools

    1.       Open the Extension Manager from the Tools menu in Visual Studio 2010.

    2.       Click the Online Gallery Tab

    3.       Locate the Team Foundation Server Power Tools extension. Depending upon the extension’s popularity it may or may not be listed on the featured on the front page of the online gallery so you may need to search for it

    4.       Select the power tools and click the download button.

    5.       When prompted Run or Save the installer package. If there are any instances of Visual Studio running the installer will stop until they are closed.  The installer detects previous versions of Visual Studio too so you’ll need to close those as well

    6.       Select either a typical or custom installation. The typical option should be sufficient for most users but anyone wanting to use the PowerShell Cmdlets will want to select custom install.  The tools I use most frequently are the command line interface, the Visual Studio integration, and the Windows Shell Extension

    7.       Click through the remaining pages in the wizard to complete the installation

    8.       A reboot may be necessary to activate the shell extensions

     

    More information:

     

    http://blogs.infosupport.com/the-how-and-why-behind-tf203015-lt-file-gt-has-an-incompatible-change-while-unshelving-a-shelve-set/

     

    http://davefancher.com/2010/08/20/tfs2010-everyday-tfs/

    How to use “TFS Power Tool” (tfpt):

    1. Follow Installing the Power Tools
    2. Open “Computer >> Properties >> button: Advanced system settings >> tab:Advanced >> button: Environment Variables"
    3. Append to variable PATH with “;C:\Program Files\Microsoft Team Foundation Server 2010 Power Tools”
    4. Open as Administrator “Microsoft Visual Studio 2010 >> Visual Studio Tools >>  Visual Studio Command Prompt (2010)”
    5. Within command prompt: CD to TFS solution path
      Example: >> cd C:\TFS\FOO\BAR
    6. To use tfpt within in command prompt >> tfpt unshelve [shelvesetname;username] /nobackup
      Example: tfpt unshelve "RED#3";bargirl /nobackup

    STEPS for MERGING Shelveset between Developers:

    IMPORTANT: The following instructions is assuming that multiple developers are working of the same TFS Changeset within the same workspace's solution.

    1. Shelf all your changes into a shelfset,
      Example: barman >> Shelfset Name: “BLUE#2
    2. Undo ALL your pending changes within your solution.
    3. Perform aforementioned “How to use “TFS Power Tool” (tfpt)” to get another’s shelfset, Example "RED#3";bargirl. For added files, you may need to force merge.
    4. Now the bargirl’s shelfset "RED#3" should within your solution
    5. Finally, unshelf your shelfset into your solution, “BLUE#2” , and merge your changes into "RED#3" changes.
    6. Your workspace is now a merge of "RED#3" pending changes with “BLUE#2” pending changes.

    I how this will help others.


    Thanks
    Jeff in Seattle

    Wednesday, November 16, 2011 7:19 PM

All replies

  • Hi jeff00seattle,

    I am moving this thread from “Visual Studio Editor" forum to the “Team Foundation Server - Version Control” forum.since the issue is related to TFS. There are more experts in the “Team Foundation Server - Version Control" forum.

    Thank you for your understanding!

     

    Best regards,

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Wednesday, November 16, 2011 8:41 AM
  • After a little reasearch, I find that we will need to use the TFS Power Tools to gain the ability to merge shelvesets.

     

    http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f

     

    Installing the Power Tools

    1.       Open the Extension Manager from the Tools menu in Visual Studio 2010.

    2.       Click the Online Gallery Tab

    3.       Locate the Team Foundation Server Power Tools extension. Depending upon the extension’s popularity it may or may not be listed on the featured on the front page of the online gallery so you may need to search for it

    4.       Select the power tools and click the download button.

    5.       When prompted Run or Save the installer package. If there are any instances of Visual Studio running the installer will stop until they are closed.  The installer detects previous versions of Visual Studio too so you’ll need to close those as well

    6.       Select either a typical or custom installation. The typical option should be sufficient for most users but anyone wanting to use the PowerShell Cmdlets will want to select custom install.  The tools I use most frequently are the command line interface, the Visual Studio integration, and the Windows Shell Extension

    7.       Click through the remaining pages in the wizard to complete the installation

    8.       A reboot may be necessary to activate the shell extensions

     

    More information:

     

    http://blogs.infosupport.com/the-how-and-why-behind-tf203015-lt-file-gt-has-an-incompatible-change-while-unshelving-a-shelve-set/

     

    http://davefancher.com/2010/08/20/tfs2010-everyday-tfs/

    How to use “TFS Power Tool” (tfpt):

    1. Follow Installing the Power Tools
    2. Open “Computer >> Properties >> button: Advanced system settings >> tab:Advanced >> button: Environment Variables"
    3. Append to variable PATH with “;C:\Program Files\Microsoft Team Foundation Server 2010 Power Tools”
    4. Open as Administrator “Microsoft Visual Studio 2010 >> Visual Studio Tools >>  Visual Studio Command Prompt (2010)”
    5. Within command prompt: CD to TFS solution path
      Example: >> cd C:\TFS\FOO\BAR
    6. To use tfpt within in command prompt >> tfpt unshelve [shelvesetname;username] /nobackup
      Example: tfpt unshelve "RED#3";bargirl /nobackup

    STEPS for MERGING Shelveset between Developers:

    IMPORTANT: The following instructions is assuming that multiple developers are working of the same TFS Changeset within the same workspace's solution.

    1. Shelf all your changes into a shelfset,
      Example: barman >> Shelfset Name: “BLUE#2
    2. Undo ALL your pending changes within your solution.
    3. Perform aforementioned “How to use “TFS Power Tool” (tfpt)” to get another’s shelfset, Example "RED#3";bargirl. For added files, you may need to force merge.
    4. Now the bargirl’s shelfset "RED#3" should within your solution
    5. Finally, unshelf your shelfset into your solution, “BLUE#2” , and merge your changes into "RED#3" changes.
    6. Your workspace is now a merge of "RED#3" pending changes with “BLUE#2” pending changes.

    I how this will help others.


    Thanks
    Jeff in Seattle

    Wednesday, November 16, 2011 7:19 PM