Errore TF203015: The item $/mypath/myfile has an incompatible pending change.

Errore TF203015: The item $/mypath/myfile has an incompatible pending change.

When you work with Team Foundation Server 2010 and Visual Studio 2008 you cannot merge file changes when you try to unshelve a shelveset. In fact if you try to unshelve  a shelveset which contains file already chenged on the local workspace, you will have the following error:

TF203015: The item $/mypath/myfile.cs has an incompatible pending change

because the file myfile.cs is checked out on the local workspace and the unshelve operation fails because the merge operation doesn’t occur during unshelve operation.

To support this requirement Microsoft has released the Team Foundation Power Tools 2010 (TFPT) that allow you to perform the merge during unshelve.

Below is the step by step procedure.

Assume that the working folder is C:\WORK\MyProject, which is the local folder mapped to the TFS project MyProject.

  1. Open the Visual Studio 2008 Command Prompt
  2. Go to workdir with the command cd C:\WORK\MyProject
  3. Insert the command tfpt unshelve and press Enter(if the credentials prompt appears, insert the right credentials)
  4. Then the popup “Find Shelveset” will appearChoose the desired shelveset and click Unshelve button
  5. “Unshelve/Merge Shelveset” window will appar and will show to you the list of confilct files.
  6. Click the Auto-merge All button.
That’s all!
You have on local workspace the local changes merged with shelveset changes.
This behavior is due to the fact that the merge tool between the shelveset it was not integrated into Visual Studio 2008, so it can only be done with the Team Foundation Power Tool.

Quando si lavora con Team Foundation Server 2010 e Visual Studio 2008 non è possibile effettuare il merge delle modifiche ai file quando si effettua un’operazione di unshelve. Infatti se si tenta di fare un’operazione di unshelve di uno shelveset che contiene file che sono già in modifica sul workspace locale, si ottiene l’errore seguente:

TF203015: The item $/mypath/myfile.cs has an incompatible pending change

questo avviene perché il file (nell’esempio myfile.cs) è in checkout per modifiche e l’operazione di unshelve fallisce perché il merge non viene richiesto in fase di unshelve.

A supporto di questa esigenza Microsoft ha rilasciato i Team Foundation Power Tools 2010 (TFPT) che consentono di effettuare il merge in fase di unshelve.

Di seguito la procedura passo per passo.

Assumiamo che la working folder sia C:\WORK\MyProject, ossia la cartella locale mappata al progetto TFS MyProject.

  1. Aprire il Visual Studio 2008 Command Prompt
  2. Portarsi sulla workdir con il comando cd C:\WORK\MyProject
  3. Inserire il comando tfpt unshelve e premere Invio
    (se appare il prompt delle credenziali TFS, inserire le credenziali corrette)
  4. Una volta eseguito il comando del punto 3. apparirà il popup per la scelta dello shelveset
    Scegliere lo shelveset desiderato e fare click sul pulsante Unshelve
  5. Si aprirà una finestra che mostrerà i file in conflitto con le proprie modifiche locali (ossia solo i file modificati in locale e nello shelveset per il quale si sta facendo l’unshelve)
  6. Fare click su Auto-merge All
A questo punto si avranno in locale sia le proprie modifiche che quelle fatte sullo shelveset.
Questo comportamento è dovuto al fatto che lo strumento di merge tra gli shelveset, non è stato integrato in Visual Studio 2008, per cui può essere fatto solo con i Power Tool.

3 commenti

comments user
Jhon

Heya i’m for the first time here. I came across this board and I find It really useful & it helped me out a lot. I hope to give something back and help others like you aided me.

comments user
nba即時比分

Nice Blog, thanks for sharing this kind of information.

comments user
ยารักษาริดสีดวง

I do accept as true with all the ideas you have offered
to your post. They are really convincing and will definitely work.
Still, the posts are very brief for starters. May just
you please lengthen them a bit from next time? Thanks for
the post.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *