Migración a SVN, confundido acerca de borrar files viejos

Tengo un repo de StarTeam que estoy tratando de migrar a SVN. Lamentablemente, el repository es ENORME, por lo que no puedo usar ninguno de los scripts de polarion, etc. Estoy recurriendo a revisar instantáneas de cada versión en StarTeam y luego agregarlas / enviarlas manualmente a SVN.

Sin embargo, estoy confundido sobre qué hacer con los files antiguos. En StarTeam, tuvimos que mover los files eliminados a una carpeta "obsoleta" ya que el command de purga eliminó todas las copys del file. Sé que no necesito hacer eso en SVN, pero ¿cómo se ocupa SVN de los files que se han eliminado / que faltan?

Supongamos que tengo tres files en la siguiente estructura:

trunk/ Src/ A.cpp B.cpp C.cpp 

Si de una versión a otra eliminé "C.cpp", ¿debo confirmar todo el src para que la eliminación se refleje en el repository SVN?

Del mismo modo, si eliminé "C.cpp" pero agregué "D.cpp", necesitaría llamar agregar todo "src /" antes de confirmar. ¿Eso causaría algún problema con la detección y eliminación de los files faltantes? Hay demasiados para pasar manualmente y eliminar cada uno individualmente.

Como una pregunta separada, ¿hay alguna razón por la cual a la tortuga marina de la Florida le toma casi 3 horas detectar qué files se cambian antes de que pueda agregar / comprometer? Todo lo que veo es el post "Espere …" en el cuadro de dialog, y FOREVER.

¡Gracias!

Cualquier cambio que realice en el repository necesita una confirmación, así que sí, después de hacer svn delete necesita svn commit . De manera similar, cuando agrega files, es un cambio que debe ser confirmado. En ambos casos, es posible deshacer el agregar y eliminar sin comprometer.

En términos de agregar y eliminar files en una transacción, una vez más eso "simplemente funciona", emite efectivamente:

 svn delete C.cpp svn add D.cpp svn commit 

Si desea recuperar un file eliminado, puede recuperar el file de una revisión anterior del repository svn, luego volver a comprometerse (consulte también ¿Cuál es la forma correcta de restaurar un file eliminado de SVN? ).

Lo principal que debes recordar al eliminar files: debes eliminarlo usando herramientas de subversión (es decir, desde la línea de command como svn delete o usando Delete en TortoiseSVN. Solo borrarlo usando del , rm , o un administrador de files como Windows Explorer tendrá SVN ve el file como " perdido " y no " eliminado ", y una confirmación del repository no confirmará la eliminación, por lo que la próxima vez que actualice su copy de trabajo, los files perdidos serán restaurados. Por lo tanto, usted usa subversión para eliminar el file. file para que la subversión sepa que realmente desea que se elimine.

Para su última pregunta: qué versión de SVN y qué tan grande es el repository (en términos de conteo de files). Esencialmente, T-SVN tiene que recorrer el tree y verificar cada file con la versión repo para ver si ha cambiado. A partir de SVN 1.7, el formatting de copy de trabajo cambió con una gran cantidad de metadatos en la database, y las mejoras en el almacenamiento de copys prístinas (es decir, cómo se veía el file cuando salió de svn) significa que es más rápido que estaba. Si no estás usando 1.7, entonces vale la pena echarle un vistazo. Además, si tiene un repository grande pero solo trabaja en una pequeña parte de él, entonces considere usar cajas ralas para networkingucir el tamaño de su copy de trabajo local. Consulte esta respuesta para get un file de Subversion para get una breve descripción o realizar pagos dispersos.