Git и Svn — братья навек

Я тут носился с простым вопросом: как именно происходят коммиты, когда git забирает реп из subversion. Дошли руки и поставил дерзкий нечеловеческий эксперимент.

Допустим, есть у меня репозиторий SVN (http://domain.tld/svn/repo/), работать с которым я хочу исключительно из-под гита.

Достаём его гитом: «git svn clone http://domain.tld/svn/repo/ foldername» и теперь у меня в папке foldername лежит нужный клон, с которым работать по уже знакомой схеме: делаем изменение, фиксируем его коммитом.

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

Собственно, это мне и было интересно: когда происходит коммит в subversion-репозиторий и сколько будет changeset-ов (один или несколько). Итого: когда скажу, несколько.

Почему-то нигде в сети я этого простого знания не нашёл, поэтому делюсь с вами здесь. Вероятно, это всё слишком просто, но мне стоило минут 5-и, потраченных на эксперимент )

UPD: Кстати, гит высосет при клонировании все changeset-ы, будьте терпеливы, внимательны и осторожны! )

UPD2: Нашёл интересную ссылку. Там советуют делать не так, как сделал я, экспериментируя. И это, в общем-то, правильно.

Оставить комментарий

You must be logged in to post a comment.