Git 1.6.4 бета в Windows (msysgit) - завершение линии Unix или DOS

Я устанавливаю бета-версию msysgit 1.6.4 на разработку VPC для разработки Win Vista. На экране установки запрашивается, хочу ли я использовать завершение линии Unix или завершение линии DOS. Обычно я выбираю DOS, но текст установки указывает, что окончание DOS может означать, что файлы не работают со всеми инструментами командной строки Git. В терминах завершения Unix говорится: "... большинство приложений [Windows] могут справиться с этим...".

Кто-нибудь знает, какой вариант я должен выбрать для использования Git через оболочку для моей работы VS 2008?

Ответ 1

Эти настройки во время процесса установки msysgit на самом деле здесь, чтобы исправить значение core.autocrlf config.

core.autocrlf

Если true, то git конвертировать CRLF в конец строк в текстовых файлах до LF при чтении из файловой системы и конвертировать в обратном порядке при записи в файловую систему.

Переменная может быть установлена ​​на "input", и в этом случае преобразование происходит только при чтении из файловой системы, но файлы выписываются с помощью LF в конце строк.

В настоящее время, какие пути рассматривать "текст" (т.е. подвергаются механизму autocrlf), решаются исключительно на основе содержимого.

Я бы настаивал на том, чтобы не пытаться что-либо автоматизировать, побочные эффекты слишком важны (с точки зрения потенциального слияния конфликтов, особенно с распределенной разработкой с разными средами).

Если ваши инструменты могут работать с окончанием строки в стиле Unix, вы должны установить их для создания строк Unix, которые затем могут быть прочитаны Windows (VS2008, Notepad ++,...) и Unix одинаково и могут обрабатываться любыми ' sh 'Git -скрипты.

Но если параметр core.autocrlf установлен в значение false, решение о преобразовании завершения текстовой строки будет добровольным явным, а не фоновым невидимым побочным эффектом.


Подробнее в разделе Как конверсии завершения строк работают с git core.autocrlf между различными операционными системами"

                 | Resulting conversion when       | Resulting conversion when 
                 | committing files with various   | checking out FROM repo - 
                 | EOLs INTO repo and              | with mixed files in it and
                 |  core.autocrlf value:           | core.autocrlf value:           
--------------------------------------------------------------------------------
File             | true       | input      | false | true       | input | false
--------------------------------------------------------------------------------
Windows-CRLF     | CRLF -> LF | CRLF -> LF | as-is | as-is      | as-is | as-is
Unix -LF         | as-is      | as-is      | as-is | LF -> CRLF | as-is | as-is
Mac  -CR         | as-is      | as-is      | as-is | as-is      | as-is | as-is
Mixed-CRLF+LF    | as-is      | as-is      | as-is | as-is      | as-is | as-is
Mixed-CRLF+LF+CR | as-is      | as-is      | as-is | as-is      | as-is | as-is

Ответ 2

Visual Studio 2008 без проблем обрабатывает окончание строк Unix. Тем не менее, он попытается обнаружить текстовые файлы с несогласованными окончаниями строк, пытаясь их исправить. Notepad, с другой стороны, не может правильно отображать текстовые файлы Unix.