2010-05-05 4 views
2

В настоящее время я пытаюсь убедить свою компанию перейти на git из подрывной деятельности, и одна вещь, которая была бы действительно полезной, заключалась бы в том, чтобы позволить мне хранить репозиторий в subversion и git при том же (тогда я могу показать им, как легко это сделать в git, что они потратили час, пытаясь сделать в подрывной деятельности). Я предполагаю, что я мог бы разместить мой репозиторий subversion прямо в git, но это, кажется, оставляет множество артефактов .svn в каждом каталоге. Кто-нибудь знает, есть ли способ избежать этого?Хранение хранилища в подрывной деятельности и git

+0

В чем была проблема "(тогда я могу показать им, как легко это сделать в git, что они потратили час, пытаясь сделать в подрывной деятельности)"? – khmarbaise

+0

Нет особой проблемы, но наиболее распространенным сценарием является svn-пользователи, которым приходится отказываться от половины готовых функций, чтобы наша центральная база кода могла быть сглажена для другого проекта. Это очень легко справиться с разветвлением git, и хотя технически возможно с ветвлением subversion, я буквально никогда не получал возможность разветвления чего-то в svn, не создавая королевской беспорядка рабочей копии, и у меня нет моих товарищей по команде, поэтому они никогда не используйте ветви. – Ceilingfish

ответ

1

Вы можете импортировать репозиторий svn в репозиторий git и играть с ним, а также синхронизировать в любое время с изменениями subversion. Однако AFAIK вы не можете отправить изменения репозитория git обратно в subversion.

Github только что начал предлагать доступ для чтения/записи к репозиториям git. Таким образом, вы можете импортировать репозиторий svn в git-репозиторий в github и продолжать использовать его с инструментами svn. Они также предлагают версию, которая будет использоваться внутри вашего брандмауэра.

+0

«AFAIK вы не можете отправить изменения хранилища git обратно в подрывную». Совсем не так - как говорит Дэвид М, git svn - улица с двусторонним движением. – ebneter

+0

Я помню, что у меня возникли проблемы при создании клона git-svn в хранилище svn на двух машинах, после чего я не мог больше тянуть/нажимать исправления, используя git между этими двумя машинами, и использовать оба для отправки изменений обратно в подрывную деятельность. – duncan

8

Использование git-svn может быть вашим лучшим выбором на данный момент - это двунаправленный интерфейс между git и Subversion. Вы создаете репозиторий git, который по существу является рабочей копией Subversion. Однако есть предостережения - вы не должны клонировать этот репозиторий или делать push/pull от него. См. Соответствующую справочную страницу.

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

Существует много комментариев о том, как/почему перейти от Subversion к некоторым DVCS. Вот один я люблю:

http://joelonsoftware.com/items/2010/03/17.html

Смежные вопросы