2012-03-28 28 views
7

Estoy tratando de crear una rama de mi espacio de trabajo local de un proyecto desprotegido.TFS - Crear una rama de la copia de trabajo local

Fondo básico: Revisé desde el 'tronco' de un proyecto e hice muchos cambios.
Ahora quiero verificar estos cambios en una nueva rama.

he creado una nueva rama dentro de control de código fuente - pero mi espacio de trabajo todavía se correlaciona con el tronco.

He seguido los pasos de un artículo que encontré aquí: Branch from local workspace

Por lo tanto, dejado de lado mis cambios.
Creó una rama.
Usado TFPT a migrar desde el tronco hasta la rama

tfpt unshelve "My uncomplete changes" /source:"$/MyRoot/MyProject-Trunk" /target:"$/MyRoot/MyProject-Branch" 

Todo parecía marchar sobre ruedas (excepto que no parecen apoyar ficheros que han cambiado de nombre - por lo que tuvimos que pasa ellos)

Pero nada ha cambiado.
La rama es un duplicado exacto del tronco (no hay cambios locales incluidos)
Mi espacio de trabajo todavía está asignada al tronco.
Si realizo el check-in, se registra en el maletero.

Me trataron de desasignar la versión desprotegido tengo, elimine los archivos locales, a continuación, echa un vistazo a la rama, a continuación, unshelve los cambios que hice, pero estoy inundado de

No appropriate mapping exists for $/Root/MyProject/Myfile.cs 

Parece tan simple , pero TFS parece añadir una capa adicional de complejidad a lo que era una tarea tan fácil en SVN ...
de esperar algo estúpido que estoy haciendo mal.

Cualquier ayuda apreciada.

Respuesta

5

Prueba esto:

  1. Es necesario incluir la nueva sucursal en su espacio de trabajo con el fin de ver los cambios (de lo contrario sólo verá el check-in versiones). Desde Source Control Explorer, seleccione Workspace->Workspaces... desde la barra de herramientas.
  2. Seleccionar Edit para su espacio de trabajo y agregar una asignación a su nueva rama, por ejemplo, Active|$/Root/MyProject-Branch|<My Local TFS Storage>\MyProject-Branch
  3. Ejecutar el comando tfpt unshelve <shelveset> /migrate /source:$/Root/MyProject /target:$/Root/MyProject-Branch. Debería crear un nuevo conjunto de estantes con asignaciones cambiadas a su nueva sucursal.
  4. Pruebe a no guardar el nuevo estante migrado en su nueva sucursal.

Por cierto, en el término TFS es mapa un proyecto/rama a un almacenamiento local, no 'check out' como en el SVN. Ese término se usa para aquellos archivos en los que se realizan cambios;).

Cuestiones relacionadas