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

maxschlepzig
źródło
Możesz także zajrzeć na unix.stackexchange.com/questions/618/how-to-merge-patches
Maciej Piechotka
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

Petr Uzel
źródło
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

tante
źródło
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
akond
źródło
0

Możesz użyć tego, aby podzielić dużą łatkę na mniejsze fragmenty (na plik lub każdy kawałek), a następnie, jeśli chcesz scalić, użyj kombinacji plików z pakietu patchutils , o którym wspomniano w odpowiedzi Petra Uzela

Dror Cohen
źródło