Имеет ли SVN функцию второго (удаленного) репо, чтобы продвигаться с помощью Git? - PullRequest
1 голос
/ 18 декабря 2011

Может кто-нибудь сказать мне, возможно ли иметь репозиторий SVN в качестве удаленного (вторичного) репо для отправки коммитов? Я хочу, чтобы репозиторий Git был моим репо.

Я предпочитаю Git и у меня есть собственный частный хостинг Git, а у компании, в которой я работаю, есть репозиторий SVN. Я хочу, чтобы все, что я делаю, сначала отправлялось в мой репозиторий Git, пока я не буду готов выложить все изменения в SVN клиента. Давайте рассмотрим, что я хочу только выдвигать / извлекать из ствола SVN и не нужно беспокоиться о других ветвях / тегах.

Как мне это сделать? Мне нужно знать:

  1. Как добавить репозиторий SVN в качестве удаленного к моему локальному репозиторию Git?
  2. Как вытащить / протолкнуть изменения из удаленного репозитория SVN?

Опять же, я хочу подчеркнуть, что я хочу иметь свое собственное Git (размещенное) репо в качестве источника.

Ответы [ 2 ]

2 голосов
/ 18 декабря 2011

Да, возможно иметь «вторичный» svn-репозиторий. У меня была такая же проблема несколько недель назад, и я использовал несколько уроков:

Так что, в основном, я выполнял свою работу в локальной ветке master, часто отправлявшейся в origin (репозиторий git), а иногда и на svn-сервере (репозиторий компании).

В вашем .git/config должно быть что-то вроде этого:

[remote "origin"]
    url = your-url-to-the-git-repository
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[svn-remote "svn"]
    url = your-url-to-the-svn-repository
    fetch = :refs/remotes/git-svn

У меня также была локальная ветка "svn", но это может и не понадобиться. Чтобы подтолкнуть мою работу, у меня было:

git push origin         # push to remote git repo
git svn dcommit         # push to remote svn repo

Если вы не уверены, когда нажимаете, используйте опцию --dry-run:

git svn dcommit --dry-run     # check that you are pushing to the right branch

Подробнее об обычном рабочем процессе вы можете узнать в руководствах .

0 голосов
/ 18 декабря 2011

Вы можете использовать Google Code в качестве стабильного зеркала Subversion только для чтения. Git проекта. В этой модели патчи сначала применяются к центральный Git-репозиторий и позже экспортированный в Google Code.

Вместо того, чтобы просто предоставить ссылку на ваш репозиторий, почему бы не расширить Ваша аудитория с горсткой команд? Откройте свой Git-хостинг проект для всех пользователей Subversion, чьи патчи могут быть интегрированы через Git.

Конечно, это также можно использовать с репозиториями SVN, не относящимися к Google Code.

https://code.google.com/p/support/wiki/ImportingFromGit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...