Обрабатывает ли git-svn перемещенные файлы

#svn #git #git-svn

#svn #git #git-svn

Вопрос:

Git явно не отслеживает скопированные или перемещенные файлы, но обнаруживает их, например, с помощью git log --follow . При использовании Git в репозитории SVN и отправке моих изменений с помощью git svn dcommit , распознает ли SVN их как скопированные файлы?

Ответ №1:

git-svn будет правильно ссылаться на историю файлов, если сможет обнаружить ссылку во время вас git svn dcommit . Если единственное, что вы делаете, это перемещаете файл, он будет работать должным образом, и SVN-сервер свяжет файл A с файлом B в своей истории.

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

Ответ №2:

Вы имеете в виду получить запись в журнале SVN, подобную следующей:

    A /xxxx/xyz (from /xxxx/zzzz.xxx:5555)
  

Да, вы получаете такую вещь.

Комментарии:

1. Показывает ли ‘svn log’ историю копирования исходного файла, если используется без «—stop-on-copy» ?

2. Разницы быть не должно.