Kiedy używam meld
do uzyskania wizualnego porównania, mogę po prostu uruchomić to z wiersza poleceń:
$ meld file1.txt file2.txt
... i meld
uruchamia się, ładuje każdy plik do osobnego okna podrzędnego i pokazuje różnice obok siebie.
Próbuję zrobić to samo z Kompare:
$ kompare file1.txt file2.txt
... ale pojawia się błąd: „ Could not parse diff output.
”. Ten sam błąd dotyczy:
$ kompare -c file1.txt file2.txt
$ kompare -c file:///path/to/file1.txt file:///path/to/file2.txt
Próbowałem też:
$ diff file1.txt file2.txt | kompare -o -
... nie powoduje to błędu - ale pokazuje folder źródłowy / docelowy jako „ unknown
” (a poza tym wszystko inne jest puste) ?!
Czy w ogóle można korzystać z Kompare tak, jak zamierzam? Jeśli tak, jak należy sformatować wiersz poleceń?
Wielkie dzięki z góry za wszelkie odpowiedzi, Na
zdrowie!
Edycja: wiąże się z tym mnóstwo błędów, jak się okazuje:
- Przetworzono: „Nie można przeanalizować danych wyjściowych różnic”, gdy używane są opcje wykluczania plików
- Błąd 116637 - „Nie można przeanalizować wyjścia różnicowego”, gdy brakuje znaczników czasu (znaczniki czasu są opcjonalne)
- [Bug 252359] Nowość: Kompare nie mógł przeanalizować zwykłego pliku łaty
- Lista błędów: kompare + could + not + parse + diff
... może być czymkolwiek z tego, tak myślę ...
Edycja2: chyba się zbliża; ponieważ jest to OpenSuse 11.2,
> kompare --version
Qt: 4.5.3
KDE: 4.3.1 (KDE 4.3.1) "release 6"
Kompare: 4.0.0
> diff --version
diff (GNU diffutils) 2.8.7-cvs
... Próbowałem poszukać łatek w systemie:
> find / -xdev -name "*.patch" 2>/dev/null
...
/etc/YaST2/policy.patch
/etc/YaST2/liveinstall.patch
... więc próbowałem zobaczyć jeden z nich:
kompare -o /etc/YaST2/policy.patch
... a ten przynajmniej otwiera się i pokazuje pewne różnice kompare
, więc przynajmniej istnieje plik porównawczy diff do porównania ...
źródło
kompare -C
nie udaje; Właśnie próbowałemdiff -u
i ten też się nie udaje :( Przynajmniej udało mi się znaleźć domyślne łatki systemowe, które otwierają się w Kompare, więc mogę ich użyć do porównania ... Pozdrawiam!Myślę, że rozumiem...
Mój problem polega na tym, że chciałem różnicować pliki VHDL; w VHDL komentarz to dwa znaki minus; więc powiedz, że miałem ten komentarz w pliku
file1.vhd
:i zastąpiłem to tym w
file2.vhd
Tak więc teraz, jeśli uruchomię ujednolicony plik różnicowy na tych dwóch plikach, otrzymam coś takiego:
Zauważ, że? The
-
fromdiff
(co oznacza „usunięto ten wiersz”), połączone z--
(które były oryginalną treścią: komentarze w.vhd
pliku) - aby utworzyć,---
który pod względemdiff
identyfikatora pliku (patrz pierwszy wiersz we fragmencie powyżej)!Zatem, ponieważ Kompare nie „otwarcie” plików, nawet za pomocą GUI - nawet jeśli podasz dwa pliki, Kompare najpierw najwyraźniej uruchamia je przez diff, a następnie próbuje parsować ten diff - najwyraźniej najpierw szukając
+++
i---
do identyfikacji plików uczestniczących; co powoduje, że „linia komentarza VHDL” jest błędnie interpretowana. Aby to pokazać, po prostu musiałem wstawić spację do pliku diff:... a potem może się załadować w Kompare.
Cóż, to najwyraźniej oznacza, że musiałbym teraz wciąć wszystkie moje pliki * .vhd, aby były kompatybilne z
diff->Kompare
potokiem ...źródło