Можно ли сделать git-svn для обработки CRLF как нативных клиентов Subversion?
=============================================================================

У меня есть хранилище Subversion, размещенное в Linux, но доступ к которому я когда-либо осуществлял только через Windows-клиенты, поскольку он предназначен для источника большого приложения Windows.

Было бы здорово, если бы я мог работать с этим репозиторием, используя git-svn (предоставленный msysgit).

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

После`svn clone` проверка хранилища git с:

`core.autocrlf = true` shows modifications to any file which actually does use `LF` in the repository.
`core.autocrlf = input` shows modifications to any file which actually does use `LF` in the repository.
`core.autocrlf = false` shows modifications to everything.

Какой вариант здесь лучший? Должен ли я использовать`core.autocrlf = true` и совершить`LF` в`CRLF` изменения для затронутых файлов?

Я очень близок к тому, чтобы добавить полотенце и просто поместить свою рабочую копию Subversion в репозиторий git. Это было бы плохим решением, но по крайней мере позволило бы местные отделения и тайники. Очевидно, станет огромной болью продолжать добавлять файлы, когда они добавляются в Subversion.

**EDIT:** Для тех, кому интересно.`git-svn` это королевская боль, если вы находитесь на Windows. Ответ Хасена ниже, вероятно, правильный, но я не могу последовать его совету, не вызвав гнев других разработчиков в моей команде.

Я, по сути, отказываюсь от этого вопроса, поскольку он не приведет к разумному результату. Надеемся, что следующее Google Summer of Code привлечет кого-то, кто захочет получить свою «надлежащую поддержку git-svn в Windows». проект. Увидеть<http://git.or.cz/gitwiki/SoC2009Ideas#Propergit-svnsupportonWindows>

 вот еще один способ справиться с ситуацией:

 Используйте как svn, так и git; в том же рабочем каталоге.

 В основном вы будете работать с git, извлекать данные из репозитория верхнего уровня, вносить локальные изменения, локальные ветви и т. Д .; все, что вы обычно делаете, когда работаете над локальным проектом git.

 Затем, когда вы хотите зафиксировать в центральном репозитории SVN, используйте клиент SVN.

 У меня был некоторый опыт в этом, только я бы не стал делать`svn commit`, но вместо этого создайте патч с`svn diff` и отправьте его (так как у меня все равно не было доступа к коммиту).



  [разговоры здесь](https://code.google.com/p/msysgit/issues/detail?id=21) около`core.autocrlf`.



 оставь их как есть. поставил`autocrlf` в`false`.

 Любой полуприличный текстовый редактор в окнах должен уметь обрабатывать строки в стиле Unix.

 core.autocrlf = false показывает изменения для всего.

 Я думаю, что если ты это сделаешь после факта, это тебе не поможет.

 Вам нужно удалить этот репозиторий, установить для autocrlf значение false итогд сделай клон.



 `git-filter-branch` над`recode dos..ascii -f`. (Это также помогло для`latin1..utf8` конверсия тоже.)



 после клона git-svn я применил unix2dos ко всем файлам, потому что, в моем случае, все файлы в репозитории SVN использовали CRLF. Итак, я думаю, вам следует попробовать преобразование CRLF-LF вручную сразу после git-svn.



 Обычно вы хотите установить [Core.autocrlf](https://git-scm.com/docs/git-config) вариант так:

 Но в соответствии с[Эта стать](http://weierophinney.net/matthew/archives/191-git-svn-Tip-dont-use-core.autocrlf.html), похоже, он не очень хорошо работает с git-svn. Возможно, стоит попробовать вторую безопасную копию хранилища SVN, чтобы посмотреть, работает ли она.