Используя 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