Какова лучшая стратегия обработки CRLF (возврат каретки, перевод строки) с Git?

Многие люди говорят, что ресурсы относятся к имеющимся таблицам базы данных. Иногда это может быть правдой, но не всегда верно. Я мог бы привести много примеров, когда у вас нет соответствующей таблицы в вашей базе данных для определенного ресурса. Следовательно, assosociating его с таблицами является довольно неправильным.

Я бы определил ресурс как маршрут, который отображает связанные запросы. Поэтому вместо объявления отдельных маршрутов для действий, которые вы хотите сделать, вы можете просто объявить их с помощью изобретательного маршрута. В Rails находчивый маршрут обеспечивает сопоставление между HTTP requests и URLs до controller actions.

Итак, скажите, что вы определили resources :users в config/routes.rb. Теперь вы можете использовать несколько помощников для контроллеров вашего приложения, например edit_user_path, который возвращает users/edit.

577
задан Peter Mortensen 5 February 2016 в 16:05
поделиться

3 ответа

Не преобразовывайте окончания строки. Это не задание VCS для интерпретации данных - просто хранят и присваивают версию ему. Каждый современный текстовый редактор может считать оба вида окончаний строки так или иначе.

113
ответ дан John Millikin 5 February 2016 в 16:05
поделиться

Попытайтесь установить core.autocrlf параметр конфигурации к true. Также взгляните на core.safecrlf опция.

На самом деле это походит core.safecrlf, мог бы уже быть установлен в Вашем репозитории, потому что (шахта акцента):

, Если дело обстоит не так для текущей установки core.autocrlf, мерзавец отклонит файл .

, Если это верно, то Вы могли бы хотеть проверить, что Ваш текстовый редактор настроен для использования окончаний строки последовательно. Вы, вероятно, столкнетесь с проблемами, если текстовый файл будет содержать смесь LF и окончаний строки CRLF.

Наконец, я чувствую, что рекомендация просто "использует то, что Вам дают" и используете нагруженные линии LF в Windows, вызовет больше проблем, чем это решает. У мерзавца есть вышеупомянутые опции попытаться обработать окончания строки разумным способом, таким образом, имеет смысл использовать их.

10
ответ дан Greg Hewgill 5 February 2016 в 16:05
поделиться

Вы почти всегда хотите autocrlf = input , если вы действительно не знаете, что делаете.

Дополнительный контекст ниже:

Это должно быть либо core.autocrlf = true , если хотите Окончание DOS или core.autocrlf = input , если хотите unix-новые строки. В обоих случаях ваш репозиторий Git будет есть только LF, что является правильным. Единственный аргумент для core.autocrlf = false был автоматическим эвристика может неправильно определять некоторые двоичные файлы как текст и тогда ваша плитка будет повреждена. Так, core.safecrlf опция была введена для предупреждения пользователя, если происходит необратимое изменение. На самом деле есть два возможности необратимых изменений - смешанные конец строки в текстовом файле, в этой нормализации желательно, поэтому это предупреждение можно игнорировать, или (очень маловероятно), что Git неправильно обнаружил ваш двоичный файл в виде текста. Затем вам нужно использовать атрибуты для сообщите Git, что этот файл является двоичным.

Вышеупомянутый абзац изначально был взят из ветки на gmane.org, но с тех пор он был закрыт.

81
ответ дан 22 November 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: