Na SO jest pytanie o dzielenie kawałków za pomocą magitów, a dwa podane rozwiązania to albo wyodrębnienie regionu (oznaczenie regionu, etap trafienia), albo zmniejszenie / powiększenie wszystkich kawałków za pomocą +& -. Nie o to mi chodzi.
W buforze stanu magita chcę podzielić przystojniak na dwa przystojniaki, w punkcie lub przynajmniej w liniach wokół punktu.
Włączam to (przepraszam za złe formatowanie diff)
@@ blah blah blah
- foo
+ bar
+ baz
+
W
@@ blah blah
- foo
+ bar
@ blah blah
+ baz
Gdy punkt znajduje się na pasku.
Motywacje:
bazbędąc instrukcją debugowania, więc chciałbym usunąć ją z zatwierdzeniafooibarbez pozbycia się go.baribazsą tylko częściowo powiązane, co oznacza, że ich zmiany nie powinny być w tym samym zatwierdzeniu.barjest duży ibazjest mały, dzięki czemu łatwiej jest podzielić przystojniak niż wybraćbarPodobnie jak w ostatnim punkcie, powiedzmy, że zatwierdzenie 20 linii zawiera pojedynczą linię pośrodku, której nie należy ustawiać. Łatwiej byłoby podzielić i wystawić górną i dolną część dwóch przystojniaków, ignorując środkową, niż skorzystać z regionu.
Powyższe może pojawić się czasami, gdy prezentacja różnicowa oddzieli przed i po czymś, co zostało zmodyfikowane, i będzie miała coś nieprzydatnego w środku. na przykład
@@ line
- old_foo
+ random stuff
+ new foo
diff-split-hunkktóre właśnie to robi. IOW twoja prośba dotyczy sposobu użycia diff-split-hunk(lub czegoś równoważnego) z bufora statusu magit.