2011-05-16 21 views
16

Una de las cosas que me gusta de GIT es que puede confirmar solo algunos cambios en un archivo. Por ejemplo, si realizaba dos cambios diferentes que involucraban el mismo archivo, puede confirmar el archivo como dos confirmaciones separadas con diferentes comentarios.SVN: confirme solo algunos cambios

igual:

pasé todo el día trabajando en un archivo antes de darse cuenta de que los días anteriores cambios no habían sido compromete, que puede hacer lo siguiente seleccionando las líneas me gustaría incluir en la confirmación:

Login.php [246]: previous changes 
Login.php [247]: new changes 

Me doy cuenta de que esta capacidad se debe a que el conjunto de cambios en GIT es un DIFF, mientras que SVN simplemente confirma un archivo completo. ¿Es posible tener el mismo comportamiento con SVN?

Si hay un truco específico SmartSVN, entonces estaría bien, ya que eso es lo que usamos.

+2

Para aquellos que no están familiarizados con git, 'git add -p' le dará un código de colores Diferencia de todos los cambios línea por línea y pregúntale qué cambios comprometer. –

Respuesta

6

uso git-svn, no creo SVN tiene este apoyo, o más bien ninguno de los clientes SVN hacer aparte de git-svn o incluso hgsubversion


Algunos diatriba:

I no creas que la razón por la que pides esto es adecuada. Significa que tienes que cambiar la forma en que creas conjuntos de cambios y cometes. El motivo por el que desearía dicha función es por la siguiente razón:

Supongamos que hay un archivo de compilación. Tiene un cierto conjunto de tareas por hacer en el servidor de compilación. Para mi casilla local, comento la parte donde genera instaladores porque no necesito hacer eso en el cuadro dev. Ahora, si alguna vez quiero hacer un cambio en este archivo de compilación, tengo que deshacer la parte donde eliminé la generación del instalador y comprometer mi otro cambio. En este caso, me hubiera gustado tener la capacidad de elegir el otro cambio y comprometerlo solo.

+0

¡Por qué no pensé en eso! :-) Gracias. Aquí hay una lectura útil para cualquier persona interesada en usar esta configuración: http://www.viget.com/extend/effectively-using-git-with-subversion/ – Nippysaurus

Cuestiones relacionadas