1,361
edits
No edit summary |
|||
| Line 616: | Line 616: | ||
=== Binarny diff === | === Binarny diff === | ||
{{warning| | {{warning|Nieprawidłowe ustawienie lub brak właściwości mime-type w pliku binarnym spowoduje diff binarny.}} | ||
Patrząc na wyjście <code>svn diff</code> (lub <code>git diff</code>, jeśli używasz git-svn), a także podczas czytania wiadomości z [[#Lista_mailingowa_commitlog|listy mailingowej commitlog]], możesz zobaczyć dużą liczbę nierozpoznawalnych znaków. Jest to wynik tak zwanej różnicy binarnej, która pokazuje różnice w plikach binarnych tak, jakby były tekstem. Chociaż nie stanowi to problemu dla działania repozytorium, jest to problem estetyczny, który utrudnia przegląd zmian. | |||
Aby rozwiązać problem, należy najpierw zidentyfikować pliki binarne z brakującą właściwością <code>svn:mime-type</code>. Możesz użyć następującego polecenia subversion: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
svn propget svn:mime-type <file_name> | svn propget svn:mime-type <file_name> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ponieważ sprawdzanie każdego pliku z osobna może być żmudne, poniższy skrypt Pythona upraszcza i automatyzuje proces identyfikacji wszystkich plików binarnych z błędem typu MIME: | |||
{{collapsible script | {{collapsible script | ||
| type = Python 2/3 | | type = Skrypt Python 2/3 | ||
| title = | | title = Znajduje pliki binarne bez ustawionej właściwości <code>svn:mime-type</code>. | ||
| intro = | | intro = Poniższy skrypt bazuje na czarnych listach plików tekstowych. W związku z tym należy spodziewać się wyników fałszywie dodatnich, a czarne listy można rozszerzać w razie potrzeby. | ||
| lang = python | | lang = python | ||
| script = | | script = | ||
| Line 731: | Line 731: | ||
}} | }} | ||
==== | ==== Naprawianie problemu ==== | ||
Ponieważ [[#Właściwości_Subversion|git-svn nie może ustawić ani zmienić]] właściwości <code>svn:mime-type</code>, wymagane jest [[#Pobranie_repozytorium|pobranie kopii]] statku powietrznego za pomocą SVN. Właściwość można następnie ustawić na domyślny binarny typ MIME za pomocą: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
svn propset svn:mime-type "application/octet-stream" <file_name> | svn propset svn:mime-type "application/octet-stream" <file_name> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Alternatywnie, poniższy zestaw poleceń powłoki może być użyty do zautomatyzowania procesu: | |||
{{collapsible script | {{collapsible script | ||
| type = | | type = Polecenia powłoki | ||
| title = | | title = Ustawienie określonych wartości <code>svn:mime-type</code> dla zestawu znanych plików binarnych. | ||
| intro = | | intro = Te polecenia powłoki będą działać w systemach GNU/Linux lub macOS (lub w systemie Windows, jeśli używasz cygwina lub jeśli zainstalowane jest narzędzie wiersza poleceń find). Lista typów plików zawiera te najczęściej spotykane w FGAddon. Aby ustawić właściwość na liście plików binarnych, wpisz (lub skopiuj i wklej): | ||
| lang = bash | | lang = bash | ||
| script = | | script = | ||
edits