Hay una pregunta sobre SO sobre la división de trozos usando magit, y las dos soluciones dadas son organizar la región (marcar una región, golpear la etapa) o reducir / hacer crecer todos los trozos usando +
& -
. Eso no es lo que busco.
En el búfer de estado de magit, quiero dividir un trozo en dos trozos, en el punto, o al menos en las líneas alrededor del punto.
Girando esto (disculpe mi mal formato de diferencia)
@@ blah blah blah
- foo
+ bar
+ baz
+
Dentro
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Cuando el punto está en la barra.
Motivaciones:
baz
siendo una declaración de depuración, por lo que me gustaría eliminarla de la confirmación defoo
&bar
sin deshacerme de ella.bar
ybaz
estar solo parcialmente relacionado, lo que significa que sus cambios no deberían estar en la misma confirmación.bar
es grande ybaz
pequeño, lo que hace que sea mucho más fácil dividir el trozo que seleccionarbar
Similar al último punto, digamos que una confirmación de 20 líneas contiene una sola línea en el medio que no debe ser puesta en escena. Sería más fácil dividir y colocar los dos trozos superiores e inferiores ignorando el del medio que usar la región.
Lo anterior puede surgir a veces cuando la presentación de diferencias separará el antes y el después de algo que ha sido modificado, y tendrá algo inútil en el medio. p.ej
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunk
que hace exactamente eso. IOW su solicitud es una forma de usar diff-split-hunk
(o algo equivalente) desde el búfer de estado magit.