git svn вводит возврат каретки? - PullRequest
0 голосов
/ 06 марта 2019

Итак, я сейчас пытаюсь объединить код из репозитория git в репозиторий svn с помощью git-svn.Мой код внутри репозитория svn был разработан для linux и не содержит возвратов каретки, и я считаю, что код из репозитория git также был разработан для linux, поскольку я не вижу возврата каретки в файлах.Вот мой метод извлечения файлов из репозитория git в репозиторий svn:

1. mkdir new_directory
2. cp -a /path/to/git/repo/. new_directory && cd new_directory
3. rm -rf .git/
4. git init
5. vim .git/config (and add):
  [svn-remote "svn"]
    url = https://link/to/svn/repo
    fetch = :refs/remotes/git-svn
6. git add .
7. git commit -m "message"
8. git svn fetch svn
9. git checkout -b svn git-svn
10. git merge master

Как только я нажимаю шаг 10, я получаю сообщения о конфликтах слияния буквально в каждом файле.После расследования я вижу, что каждый файл из моего репозитория SVN по какой-то причине имеет возврат каретки.Я уже пытался добавить autocrlf = input в .git / config, но это решило проблему только в небольшой части файлов.Я не совсем уверен, что GIT-SVN делает здесь;Я нашел этот набор шагов в этом сообщении .Любой совет будет принята с благодарностью.

1 Ответ

0 голосов
/ 06 марта 2019

Git имеет конфигурационные материалы, которые могут легко нанести вред проекту, меняющему EOL. Я думаю, что лучшее, что вы можете сделать, это повторить попытку, но сообщив git, что вы хотите сохранить файлы как . Вы можете сделать это на уровне ветви (например, внутри проекта), добавив эту строку в .gitattributes:

* -text

Это избавит вас от многих проблем.

...