svn visual-sourcesafe sync

¿Cómo sincronizo entre VSS y SVN?



visual-sourcesafe sync (3)

Lo que hice en el pasado es lo siguiente:

  1. Asegúrate de que todos mis cambios estén comprometidos con svn: // trunk
  2. Haga una actualización de VSS en mi copia de trabajo.
  3. Combinar manualmente los cambios en mi copia de trabajo.
  4. Confirmar el código fusionado en el tronco svn: //
  5. Haz una diferencia VSS y revisa cualquier archivo con diferencias (sin sobreescribir archivos)
  6. Revisa esos archivos.

Estoy obligado a usar VSS en el trabajo, pero uso SVN para un repositorio personal. ¿Cuál es la mejor manera de sincronizar VSS y sincronizar?


Para deshacerse del paso de fusión manual, podría usar una rama svn separada (svn: // branches / VSS) de la siguiente manera:

  1. Cree una copia de trabajo de svn: // branches / VSS
  2. Haz un VSS Get Latest en esta copia de trabajo
  3. svn commit
  4. svn fusionar desde svn: // trunk
  5. svn commit
  6. Haz una diferencia de VSS y revisa todos los archivos (sin sobrescribir) con diferencias
  7. Compruebe en esos archivos
  8. reintegrar svn: // branches / VSS en svn: // trunk

También podría tratar esto como una sucursal suministrada por el proveedor como se define en el libro redbean: Ramas del proveedor

Con esto, el flujo básico sería:

  1. Tener una rama de proveedor "branches / VSS / current" que contenga el último código de VSS
  2. Etiquete la versión actual como "branches / VSS / 2008-09-15"
  3. Al día siguiente, consigue los nuevos archivos en "actual"
  4. Vuelva a etiquetar en "branches / VSS / 2008-09-16"
  5. Combina las diferencias entre las dos etiquetas en el enlace troncal, resolviendo conflictos
  6. Eliminar etiquetas antiguas según sea necesario

Esta es en realidad la técnica que utilizamos al migrar de VSS a SVN. Si le importa el viaje de regreso desde SVN-> VSS, solo tendrá que diferenciar entre trunk y branches / VSS / current y aplicar los diffs a VSS.