Obecnie pracuję nad narzędziem do generowania kodu źródłowego. Aby upewnić się, że moje zmiany nie wprowadzają żadnych nowych błędów, diff
teoretycznie cennym narzędziem byłoby między wyjściem programu przed i po moich zmianach.
Jednak okazuje się to trudniejsze niż mogłoby się wydawać, ponieważ narzędzie wypisuje wiersze, w których kolejność nie ma znaczenia (np. import
Instrukcje, deklaracje funkcji,…) w sposób pół losowo uporządkowany. Z tego powodu wynik diff
jest zaśmiecony wieloma zmianami, które w rzeczywistości są tylko liniami przeniesionymi do innej pozycji w tym samym pliku.
Czy istnieje sposób, aby diff ignorował te ruchy i wyświetlał tylko te wiersze, które naprawdę zostały dodane lub usunięte?
diff
narzędzie byłoby w stanie oddzielić prawidłowe przeniesienia od niepoprawnych, ponieważ kolejność instrukcji w kodzie ma znaczenie, a przypadki, w których nie jest to prawdą, są ograniczone (import, deklaracja funkcji i klas, itp.)?