Почему некоторые различия файлов .js не отображаются в исходном дереве?

Я получаю странное поведение в SourceTree, когда делаю сравнения коммитов.

Для большинства файлов я получаю небольшой предварительный просмотр изменений, сгруппированных в «фрагменты». Это отличный способ увидеть изменения, которые я внес в файлы, и он даже позволяет мне отменить части/фрагменты изменений файлов.

Похоже, он работает как с некоторыми файлами .js, так и с файлами .html и даже с файлами .asp. За исключением того, что некоторые определенные файлы .js никогда не отображаются в предварительном просмотре. SourceTree правильно помечает их как добавленные, измененные и т. д. в журнале/истории, но не отображает предварительный просмотр различий. Использование внешнего инструмента сравнения (я использую Beyond Compare) работает отлично, и я могу просматривать изменения там. Проблема в том, что я не хочу запускать внешнее сравнение, когда отличный предварительный просмотр работает так хорошо.

Любые идеи?


person Per Hornshøj-Schierbeck    schedule 20.10.2014    source источник


Ответы (3)


Возможно, вы захотите проверить конфигурацию SourceTree.

На вкладке «Diff» есть настройки максимального размера файла для текстовых / двоичных файлов.

person Qing Liu    schedule 11.05.2015

Похоже, кодировка файлов имеет значение. Мои файлы «Unicode» (читай 16-битные) не просматриваются, в то время как файлы UTF-8 («смешанные» 8/16-битные) будут предварительно просматриваться - по крайней мере, в тех случаях, которые я тестировал.

person Per Hornshøj-Schierbeck    schedule 20.10.2014

Используйте git diff --cached. Оно работает.

person shibualexis    schedule 21.03.2015
comment
Это похоже на исправление командной строки. Как вы используете это в sourcetree? - person Per Hornshøj-Schierbeck; 23.03.2015