Es gibt eine Frage zu SO über das Teilen von Hunks mit Magit, und die beiden angegebenen Lösungen bestehen darin, entweder die Region zu inszenieren (eine Region markieren, Stufe treffen) oder alle Hunks mit +
& zu verkleinern / zu vergrößern -
. Das ist nicht was ich will.
Im Statuspuffer von magit möchte ich ein Stück am Punkt oder zumindest an den Linien um den Punkt in zwei Stücke aufteilen.
Drehen Sie dies (entschuldigen Sie meine schlechte Diff-Formatierung)
@@ blah blah blah
- foo
+ bar
+ baz
+
In
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Wenn der Punkt auf der Latte liegt.
Motivationen:
baz
Als Debug-Anweisung würde ich es gerne aus dem Commit vonfoo
&bar
streichen, ohne es loszuwerden.bar
undbaz
nur teilweise verwandt sein, was bedeutet, dass ihre Änderungen nicht im selben Commit sein sollten.bar
ist groß undbaz
klein, wodurch es viel einfacher ist, das Stück zu teilen, als es auszuwählenbar
Ähnlich wie beim letzten Punkt enthält ein Festschreiben mit 20 Zeilen eine einzelne Zeile in der Mitte, die nicht in Szene gesetzt werden soll. Es wäre einfacher, die oberen und unteren zwei Hunks zu teilen und zu inszenieren, wenn man die mittlere ignoriert, als die Region zu verwenden.
Das Obige kann manchmal auftreten, wenn die Diff-Darstellung das Vorher und Nachher von etwas trennt, das geändert wurde, und etwas nicht hilfreiches in der Mitte hat. z.B
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunk
hat, der genau das tut. IOW Ihre Anfrage diff-split-hunk
bezieht sich auf eine Art (oder eine äquivalente) Verwendung aus dem Magit-Status-Puffer.