Страница 1 из 2

Проблема с функционалом "сравнения файлов по содержимому"

Добавлено: Пт фев 17, 2012 04:41
silione
Ситуация следующая:
Решил немного для себя подправить перевод одного мода для игры civilization4. Весь текст в игре находится в xml файлах (по сути текстовые файлы). Взял старый перевод для его адаптации к последней версии мода, для этого сравнивал файлы по содержимому и редактировал необходимые строки. Наткнулся на такую проблему - попадаются файлы у которых, при сравнении по содержимому, не активна кнопка "редактирование" (на F6 тоже никакой реакции). При этом файлы таки сравниваются.

Дал бы скриншот, чтоб не быть голословным, но новичкам ссылки запрещено постить :( На словах это выглядит так: окошко сравнения файлов по содержимому выглядит как и должно, в правом и левом окне содержимое соответствующих файлов с выделенными изменениями, а кнопка "редактирование" такая же неактивно "серая" как кнопки копирования и отката.

С чем это может быть связано?

Добавлено: Пт фев 17, 2012 05:10
Flasher
Файлы больше 2 Мб. Читаем справку.

Добавлено: Пт фев 17, 2012 18:30
silione
Flasher писал(а):Файлы больше 2 Мб. Читаем справку.
Размер сравниваемых файлов - 1 179 648 байт и 995 328 байт.
Причем среди редактируемых файлов есть и один файл размером 2,5 Мб и он нормально редактируется во время сравнения.

Еще идеи есть?

P.S.
Пробовал на двух разных компах с разными версиями total commandera - результат один. Вероятно дело именно в файле. Но что с ним с этим файлом может такого быть? Это ведь текст. И как это исправить?

Добавлено: Пт фев 17, 2012 18:44
MVV
Кодировка файла какая?

Галку "Двоичный" тотал при сравнении не ставит? Если ставит, снять и пересравнить.

Добавлено: Пт фев 17, 2012 19:04
CaptainFlint
silione
Ещё редактирование может оказаться запрещено, если в файле есть очень длинные строки.

Добавлено: Пт фев 17, 2012 19:56
silione
MVV писал(а):Кодировка файла какая?

Галку "Двоичный" тотал при сравнении не ставит? Если ставит, снять и пересравнить.
Кодировка ISO-8859-1, но она такая у всех файлов, а не редактируется только один.
Двоичный вид не включал, мне ведь текст редактировать.
Ещё редактирование может оказаться запрещено, если в файле есть очень длинные строки.
Вот, кажется оно, спасибо! Удалил часть текста в котором встречаются длинные строки и редактирование включилось. Теперь только разбираться вручную аккуратно надо будет искать и вырезать эти строки перед сравнением, а потом назад вставлять. А какая максимальная длинна строки в символах допустима?

Добавлено: Пт фев 17, 2012 20:49
MVV
silione, необязательно вырезать их. Можно просто добавить разрывов строки между любыми тегами или атрибутами, XML не чувствителен к наличию разрывов строк вне данных. Рекомендую разбивать так, чтобы было удобно сравнивать.

Иногда я, видя жуткие XML или HTML с длиннющими строками, регулярным выражением в текстовом редакторе добавляю разрыв строки, скажем, перед каждым открывающим тегом, так проще сравнивать файлы. Например, заменить <[^\/>]*> на \n\0, или ^(.{100,})(<[^\/>]*>) на \1\n\2 - так можно даже задать минимальное число символов строки, после которого тег будет переноситься на новую строку. При этом внутри тегов разрывы добавляться не будут.

Добавлено: Пт фев 17, 2012 21:27
silione
Спасибо за советы :) буду дальше маятся.

Добавлено: Ср фев 22, 2012 09:33
Моторокер
Предлагаю предложить Гислеру показывать сообщение о причине невозможности редактирования (объём файла N Мб больше разрашённых 2 Мб/есть строка X длиннее N символов), чем тихо блокировать клавишу.

Добавлено: Ср фев 22, 2012 10:00
Avada
Моторокер
Предложить можно, но сейчас он этого делать практически наверняка не будет хотя бы потому, что подобные сообщения потребуют дополнительной локализации, на которую согласия Гислер не даст.

Добавлено: Ср фев 22, 2012 10:10
Моторокер
1914="Файл слишком большой"
1452="Мб"
---
1914 + " >2 " + 1452

Добавлено: Ср фев 22, 2012 10:42
MVV
Гислер до выпуска финалки вряд ли будет добавлять новые фичи.

Добавлено: Ср фев 22, 2012 10:49
Avada
Моторокер
Во-первых ничего нет про строки. Во-вторых, как правильно было сказано, добавление новых фич до финала крайне маловероятно.

Добавлено: Ср фев 22, 2012 13:00
Моторокер
Avada
Это уже во вторых, как выяснилось.
Это не фича.

Ладно, если на забуду, попробую сам запостить.

Добавлено: Чт фев 23, 2012 09:29
keiran_green
silione
Попробуй для сравнения использовать WinMerge.

Добавлено спустя 3 минуты:

Я его к TC прикрутил - очень удобно.