1

Используя Cygwin на Win7x32, когда я использую sed для замены некоторых значений в файле, git считает, что весь файл полностью переписан (т.е. 500 вставок, 500 удалений). Что тут происходит? Фактически изменяется только одна строка в файле, а значение замены имеет ту же длину, что и оригинал. Я ожидаю, что git распознает только те строки, которые изменились. Единственное, что, похоже, изменилось вообще - это значения inode и time, прочитанные из stat some/file.txt . Есть ли способ сказать git игнорировать какие-либо значимые измененные значения во время моих вызовов sed или сказать sed не изменять какие-либо значения, которые заставляют git видеть файл с совершенно новым содержимым?

1 ответ1

4

Я мало работаю с Windows, но, возможно, sed меняет ваши маркеры конца строки. Команда file сообщит вам, какая кодировка текста используется. Также вы можете запускать cat -e до и после вызова sed ; если файл закодирован для Windows, каждая строка заканчивается ^M

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .