2012-01-09 17 views

Respuesta

4

Bueno, se puede escribir un script para hacer esto ...

¿En qué plataforma estás? Windows o Unix? ¿Qué lenguaje de scripting puedes usar?

Aquí es uno de verdad sencilla que acabo de hacer:

$ svn cl my-changelist $(svn st | awk '{print $2}') 

Probablemente necesita algo de trabajo (lo que si cambiaba de una propiedad frente a un archivo o he cambiado tanto ¿Qué pasa si he eliminado un archivo??). Pero, funcionó en mi (ciertamente simple) situación.

1

impresión de awk $ 2 le fallará si stat SVN te muestra como banderas o + ~

corte podría ser más seguro, por ejemplo,

svn st | cut -c9- 

Mi bash-fu no es fuerte y la sintaxis de $() no funcionó para mí. Terminé haciendo algo como:

for i in `svn st | cut -c9-` do; svn changelist my-changelist $i; done 
+0

> for i in 'svn st | corte -c9-'; hacer svn lista de cambios my-changelist $ i; hecho – zinking

0
  1. Si usted tiene más de uno listas de cambios, tendrá que filtrar las líneas irrelevantes en primer lugar.

    svn status | grep '^[ADMRC]' | cut -c9- | xargs svn changelist foo 
    
  2. Si tiene nombres de archivo con espacios, también tendrá que utilizar eval.

    eval "svn changelist foo $(svn status | grep '^[ADMRC]' | cut -c9- | sed 's/ /\\ /' | tr '\n' ' ')" 
    

    sed 's/ /\\ /' escapes espacios.

Referencia:

Cuestiones relacionadas