Можно ли сделать так, чтобы git svn & # 8220; relocate & # 8221; файлы ветки на кассе?
Вопрос
В нашем хранилище svn есть много веток, которые являются ветвями поддеревьев. Это нормально работает с SVN, потому что я могу проверить это поддерево в правильном месте в моей рабочей копии. Однако, если я проверяю ту же ветку с помощью git, я получаю рабочую копию только с поддеревом ветви. Можно ли заставить git переместить ветку так, чтобы моя структура рабочей копии была одинаковой, независимо от того, нахожусь ли я на стволе или на ветке?
Я понимаю, что наши svn-практики конфликтуют с философией git всегда работать над всем деревом. Как люди справляются с этим?
Решение
Если возможно, исправьте это на стороне сервера: Subversion не копирует данные при ветвлении ( svn copy
), это просто жесткие ссылки, поэтому на самом деле нет очевидной причины разветвлять только поддерево. р>
Если это невозможно, вы должны взглянуть на http://help.github.com. / subtree-merge / - это может помочь, но я сам не пробовал. Он в основном описывает альтернативу подмодулям git, где вы просто автоматически объединяете удаленный (в данном случае вашу ветку Subversion) в подкаталог вместо корневого каталога хранилища.
Другие советы
Я никогда не использовал svn таким образом, и если молчание, которое вы получили, является каким-либо показателем, то это своего рода редкая практика. Не могли бы вы дать какое-то обоснование таким действиям, возможно, описав, какую проблему он решает? Таким образом, мы можем лучше судить о том, что будет приемлемым решением.