svn diff: plik oznaczony jako typ binarny


82

Robię svn diffna jednym z moich plików, a svn wykrywa go jako typ binarny. Plik jest czytelnym zwykłym tekstem i chciałbym móc uzyskać różnicę dla tego pliku. Jak powiedzieć SVN, że to nie jest plik binarny?

Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Odpowiedzi:


81

Możesz użyć właściwości Subversion svn: mime-type, aby ustawić jawny typ MIME w pliku:

svn propset svn: mime-type 'text / plain' ścieżka / do / pliku

Alternatywnie możesz usunąć tę właściwość (ponieważ Subversion zakłada zwykły tekst), używając:

svn propdel svn: ścieżka / do / pliku typu mime

4
Ale dlaczego został oznaczony jako binarny w pierwszej kolejności? Mam ten sam problem w przypadku wielu moich plików źródłowych i usuwanie właściwości za każdym razem jest uciążliwe.
angularsen,

Wygląda na to, że powinieneś zadać inne pytanie ... i może dodać tutaj link.
Eric Wilson


Czy to (zmiana typu MIME pliku) zmienia sposób wykonywania plików, gdy ktoś pobiera świeżą kopię z svn? W takim przypadku myślę, że użycie opcji --force tylko do przeglądania różnic ma większy sens.
Rishi

@Rishi, nie, nie ma; istnieje osobna właściwość „svn: executable”, która określa, czy plik powinien mieć wykonywalne bity uprawnień.
Michael Aaron Safyan

115

Możesz uzyskać różnicę nawet dla pliku oznaczonego jako binarny używając --force.

svn diff --force path/to/file


5
to jest znacznie lepsza odpowiedź na coś takiego jak application / json
Steven R. Loomis

2
@BrettZamir, ale można to zrobić z prawie wszystkim, co ma wyjście.
entonio

1
@entonio: Tak, wiem ... po prostu pomyślałem, że powinienem na to zwrócić uwagę, ponieważ napotkałem ten błąd przy użyciu klienta GUI i ponieważ nie mogłem go rozwiązać, o ile wiem, pomyślałem, że może inni, którzy nie używają często można o tym poinformować wiersz poleceń.
Brett Zamir
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.