svn commit all at once (queue)?

Estoy usando Tortoise svn client en Windows, y necesito poder enviar files cambiados desde diferentes subcarpetas, todo a la vez, en una sola confirmación. ¿Como agregar files a una queue antes de confirmar o algo así? ¿Cómo puedo lograr esto?

¿Hay otro cliente svn en Windows que pueda hacer eso?

Si su copy de trabajo tiene la raíz de todas estas carpetas, puede ir a esta raíz y confirmar. Si ha revisado estas subcarpetas por separado sin la raíz, debe realizar varias confirmaciones.

Si todos ellos son parte del mismo repository, entonces solo confirmarías desde la carpeta raíz de ese repository. Si provienen de repositorys diferentes, entonces el concepto en cierto modo no tiene sentido, porque harías commits separados para repositorys separados, por lo que realmente no puede ser "one commit". Si tiene subcarpetas que son repositorys diferentes pero solo desea realizar 1 operación de confirmación en el cliente para confirmarlas todas, entonces puede hacer algún tipo de script .bat para iterar sobre las subcarpetas y ejecutar el mismo command de confirmación con el el mismo post de compromiso

¿Tal vez agregar más detalles sobre lo que son estas "subcarpetas"?

Intenta comprometer desde tu carpeta superior. Le mostrará los files modificados y no versionados, incluso si están en subcarpetas.

Varias de las respuestas ya proporcionadas dan esencialmente la misma respuesta (correcta): confirmar desde la raíz de la copy de trabajo. Pero creo que es útil dar solo un par de detalles más.

En primer lugar, comprometerse desde la raíz no implica que deba comprometer todo (en caso de que le preocupe no haber realizado todavía algunas ediciones no relacionadas). El dialog de confirmación le permite seleccionar o anular la selección del set de todos los files modificados.

En segundo lugar, y quizás lo más relevante para su pregunta, independientemente de la cantidad de files que select para confirmar, la operación de confirmación es atómica , es decir, confirma todos los files o, si hubo un problema con uno o más de ellos, no confirma ninguno . Por lo tanto, Subversion garantiza que sus cambios se agrupen en un único set de cambios.

En tercer lugar, un punto a tener en count que se relaciona un poco less directamente, pero vale la pena mencionarlo aquí: es importante tener en count que las operaciones de Subversion ( fuera del repo-browser) operan en un process de dos etapas: primero se hace un local cambiar, luego comprometes el cambio. Esto parece casi una tautología cuando se trata de la operación de edición : primero editas, luego comprometes; el acto de editarse por sí mismo no afecta el repository. Obvio, ¿verdad? Esto no es tan obvio cuando considera la operación de agregar : primero agrega, luego confirma; ¡El acto de agregar tampoco afecta el repository! Por lo tanto, relacione esto con su pregunta, edite varios files, agregue varios files, elimine varios files, etc., a medida que crea su set de cambios . Una vez que haya hecho eso, abra el dialog de confirmación desde la raíz de su copy de trabajo y select todos los files en su set de cambios y confírmelos en una operación atómica.

Entonces, una característica que uso frecuentemente con TortoiseSVN y que creo que podría ser similar a su request es arrastrar carpetas o files al dialog de confirmación. Siempre y cuando estén todos en una sola carpeta de trabajo rooteada, se dará count de eso y le permitirá comprometerlos en una única confirmación. Es una característica muy útil que uso todo el time.

Otra extensión de esta característica que me gustaría ver es la que proporciona Araxis Merge. Puede hacer clic derecho en un file o carpeta, luego seleccionar 'Cola para comparación':

Selecciones del menú contextual de Araxis Merge - Cola para comparar

Luego, cuando haces clic derecho en otra carpeta / file, te permite hacer una comparación con uno o más elementos que se pusieron en queue:

Selecciones del menú contextual de Araxis Merge - Comparar con Araxis Merge (+ n en la cola)

Realmente me gustaría que el intérprete de commands de Tortoise admita 'Queue for Commit' y luego agregue un menu 'Commit (with + n in queue)' si la queue no está vacía.

¿Están todos en el mismo repository? Si es así, simplemente vaya a la raíz de su copy de trabajo y comprométase desde allí

Sube 1 directory desde los subdirectorys, haz clic con el button derecho y "SVN Commit .." desde allí. Luego, en el panel "Cambios realizados", select solo (y todos) los subdirectorys que le gustaría confirmar de una vez.

Puede usar la function de list de cambios de subversión (que también está disponible en TortoiseSVN> 1.5 ), que le permite crear una list de files para confirmar relacionados con la misma function.

    Intereting Posts