2012-01-05 6 views
5

Lo más probable es que conozca en Git se puede obtener una muy buena experiencia de comprometerse mediante el uso de¿Hay algún menú como commit interactivo para SVN como Git tiene con --interactive?

git commmit --interactive 

que se mostrará un menú, donde se puede añadir/actualizar/parche/revertir las cosas, y seleccionar archivos por su intervalo, por ejemplo: 1-5,10-12,100-1135

$ git commit --interactive 
      staged  unstaged path 


*** Commands *** 
    1: [s]tatus  2: [u]pdate  3: [r]evert  4: [a]dd untracked 
    5: [p]atch  6: [d]iff  7: [q]uit  8: [h]elp 
What now> 

Busco para obtener la misma funcionalidad en el SVN como un comando shell .
¿Sabes qué es el comando SVN?

+2

Hmm, si está utilizando sVN, se puede usar git-svn, ya que tiene "lectura/escritura" apoyo – fge

Respuesta

7

mala noticia es que no hay tal cosa como la línea de comandos interactivo para SVN. Una buena noticia es que puedes escribir la tuya y ser el primero en encontrar una herramienta tan útil.

0

No creo que tenga ese tipo de característica en la CLI (Command Line Interface, es decir, "con un comando de shell") de SVN.

Por supuesto, usted tiene algo de él en una interfaz gráfica de usuario como TortoiseSVN (Windows) o RabbitVCS (Linux), pero esto es una solución gráfica, no una sola línea de comandos (de nuevo, no un comando shell).

Gráficamente, las miradas mejoradas comprometerse como:

graphical commit

+0

Ésta no es una respuesta para mi pregunta, esto es para Windows quizás. – Pentium10

+0

@ Pentium10: mi punto es que encontrará las características que menciona en una GUI (como esta de Windows, pero hay otras para otros Os: RabbitVCS por ejemplo es la TortoiseSVN para Linux: http://rabbitvcs.org/) . No en una CLI. – VonC

+0

@ Pentium10: He editado mi respuesta para enfatizar la parte "sin comando de shell disponible" (hasta donde sé). – VonC

0

en el espíritu de la respuesta de altem, yo sólo hice:

# collect a list modified files 
svn st > temp.sh 
# use your favourite editor (although it is vim, right?) 
# to edit list into suitable svn command or commands 
vim temp.sh 
# execute 
. ~/temp.sh 

e hice un comando para confirmar una selección de archivos

GAD que es feo

pero más fácil que hacer múltiples svn ci compromete y svn st

0

Opinión: Encuentro svn muy mal diseñado para la línea de comando y scripting en general ...

Pero a menudo uso find y su -ok expresión cuando quiero informará al usuario:

find . -name "*.jar" -exec svn info {} \; -a -ok svn delete {} \; 

Tenga en cuenta que en el caso de que no desee svn info de salida, usted tiene que invocar una subnivel de la siguiente manera (de lo contrario -ok no se emitirá en absoluto):

find . -name "*.jar" -exec sh -c 'svn info "{}" 2>/dev/null' \; -a -ok svn delete {} \; 
Cuestiones relacionadas