SVN-add y undo-add, ¿para qué?

Soy nuevo en SVN. SVN-add está aquí para 'preparar un file para integrarlo en SVN', ¿verdad? Pero si quiero que se integre de manera efectiva en el control de versiones, tengo que confirmarlo (marque la casilla cuando realice la confirmación SVN). Entonces, ¿por qué debería deshacer-agregar (si agregar no tiene consecuencias antes de validar la integración del file después de la confirmación)?

Además, ¿podría indicarme algunas buenas references para el uso de SVN?

Gracias y saludos.

Agregaste un file y luego decidiste que cometiste un error y realmente no deseas agregarlo a SVN. Entonces, deshaga el complemento (es decir, revierte el cambio en su copy de trabajo) antes de confirmar.

Utilizo el siguiente command svn con el nombre del file / s al final:

svn del --keep-local 

Cada operación que realice en SVN se realiza localmente, en su espacio de trabajo.

Si no quiere comprometer sus files recién agregados, debe "cancelar" esta adición, para tener un espacio de trabajo limpio. Este es el objective de "Deshacer agregar".

Aquí hay una muy buena charla sobre SVN: http://svnbook.networking-bean.com/

Entonces, ¿por qué debería deshacer-agregar (si agregar no tiene consecuencias antes de validar la integración del file después de la confirmación)?

Es verdad que si nunca comprometes ese file nunca lo verás agregado a tu repository SVN. Pero en lugar de pensar 'se prepara para la integración', piense 'coloca el file bajo control de versión'. Lo que esto significa es que si realiza operaciones SVN en un nivel de carpeta en lugar de un nivel de file, puede estar seguro de que solo se tocarán los files que deliberadamente desea actualizar.

Si haces svn up docs / , y tu carpeta local contiene un file con el mismo nombre que uno en el repository, svn se quejará. Si su file local estaba bajo el control de la versión, podría fusionar los dos en set, sin que usted lo note.

Del mismo modo, si desea enviar una carpeta completa al repository, puede estar contento de que los files que no se hayan marcado específicamente para su inclusión (como .lck o .ds store ) no se cometerán por error, lo que en el mejor de los casos generará un desorder innecesario. en el peor, causar conflictos entre los desarrolladores de tu equipo.

En este caso, no usar 'deshacer-agregar', significaría que cualquier confirmación de svn en un nivel de directory superior agregará este file al repository. Probablemente mucho después de que te hayas olvidado de hacer el 'svn add' para empezar 🙂