Jak dzielić i edytować łatki?


10

Czasami muszę podzielić dużą łatkę na mniejsze (rozłączne), np. Dla każdej oddzielnej funkcji.

Zwykle robię to za pomocą standardowych poleceń vim yank / dd i przełączania podzielonego okna.

Ale czy są jakieś narzędzia / sztuczki vim, które pomagają w tego rodzaju edycji?

Na przykład wsparcie dla poleceń takich jak: przenieś 3 kolejne pełne porcje do otwartego pliku łaty po prawej stronie



1
BTW, jak to się dzieje, że ludzie odpowiadają na pytanie, ale nie uważają go za użyteczny / wystarczająco jasny, aby go głosować?!? ;)
maxschlepzig

Odpowiedzi:


7

Możesz zajrzeć do patchutils [1]. Dla części vim napisałem małą wtyczkę vim, która pomaga w nawigacji w łatkach: diff_navigator [2].

[1] http://cyberelk.net/tim/software/patchutils/

[2] http://www.vim.org/scripts/script.php?script_id=2361


1
diff_navigatorURL to najwyraźniej vim.org/scripts/script.php?script_id=2361 Emacs posiada podobne cechy w Ediff trybach i SMerge
Riccardo Murri

2
Czy możesz rozszerzyć swoją odpowiedź, aby była bardziej kompleksowa? Dodanie przykładu, jak użyć narzędzia z zestawu patchutils, aby podzielić dużą łatkę na rozłączne, byłoby świetne ...
maxschlepzig

5

Chyba trochę nie na temat, ale nadal uważam, że jest to przydatne.

Jeśli używasz git do programowania, możesz łatwo podzielić wszystkie zmiany na mniejsze „kawałki”, które zawierają jedną cechę. Skończyć z jednym popełnić za cechę i można użyć git-tych git-format-patchdo tworzenia (a nawet podpisać i prawidłowo atrybutów) łaty, nakreśliłem jak to zrobić tutaj


3

My Suse ma splitdiffutil, który działa w następujący sposób:

$ splitdiff -a tmp.179639.patch
Wrote >tmp.179639.patch.part001
Wrote >tmp.179639.patch.part002

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.