Há uma pergunta sobre o SO sobre a divisão de blocos usando o magit, e as duas soluções apresentadas são: estágio da região (marcar uma região, estágio de sucesso) ou reduzir / aumentar todos os blocos usando +& -. Não é disso que estou procurando.
No buffer de status do magit, quero dividir um pedaço em dois pedaços, no ponto, ou pelo menos nas linhas ao redor do ponto.
Transformando isso (desculpe minha formatação diff ruim)
@@ blah blah blah
- foo
+ bar
+ baz
+
Para dentro
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Quando o ponto está na barra.
Motivações:
bazsendo uma instrução de depuração, eu gostaria de removê-la do commit defoo&barsem me livrar dele.barebazsendo apenas parcialmente relacionados, o que significa que suas alterações não devem estar no mesmo commit.baré grande ebazpequeno, tornando muito mais fácil dividir o pedaço em vez de selecionarbarSemelhante ao último ponto, digamos que um commit de 20 linhas contenha uma única linha no meio que não deve ser preparada. Seria mais fácil dividir e classificar os dois pedaços superiores e inferiores ignorando o meio do que usar a região.
O exposto acima pode surgir algumas vezes quando a apresentação diff separa o antes e o depois de algo que foi modificado e tem algo inútil no meio. por exemplo
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunkque faz exatamente isso. IOW, sua solicitação é uma maneira de usar diff-split-hunk(ou algo equivalente) do buffer de status do magit.