git-svn: есть ли способ заставить его хорошо играть с подмодулями или игнорировать их? - PullRequest
6 голосов
/ 06 ноября 2008

если у вас есть коммит, содержащий объект подмодуля, вы не можете заставить git-svn коммитить его.

Любые идеи, обходные пути, все, что не "не используйте подмодули с git-svn"?

Пока что ответом будет большое НЕТ.

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

Ответы [ 2 ]

1 голос
/ 13 ноября 2008

Вам нужно заменить подмодули свойством svn:externals, чтобы хорошо играть с Subversion.

svn propset svn:externals [...]

Не думаю, что есть другой способ обойти это.

0 голосов
/ 13 мая 2012

Если у вас есть доступ к серверу SVN, вы можете установить на него SubGit . Он создаст связанный репозиторий Git, так что любой толчок в репозиторий Git будет транслироваться в SVN и наоборот. Трансляция безопасна одновременно, поэтому вы можете рассматривать эту пару репозиториев как 2 интерфейса (Git и SVN) одного и того же репозитория, как это делается в GitHub, с той разницей, что перевод намного прозрачнее (все ветви преобразуются в ветви , теги к тегам, svn: игнорировать в .gitginore, svn: eol-style в значение .gitattributes и т. д.).

После этого вы можете добавить подмодули к вам в Git-репозиторий и забыть о git-svn.

Если у вас нет доступа к серверу, я не знаю решения, только для поддержки svn: externals из Git (см. Конфигурацию SmartGit и .gitsvnextmodules).

...