Git-svn и Eclipse? - PullRequest
       15

Git-svn и Eclipse?

45 голосов
/ 14 апреля 2011

Есть ли плагин для Eclipse для git-svn? Я ищу способ обработки репозитория SVN с помощью Git (для быстрого переключения филиалов и т. Д.)

Ответы [ 3 ]

52 голосов
/ 14 апреля 2011

Не похоже, что есть плагин Git для Eclipse, который поддерживает git-svn.

EGit , кажется, самый активный и популярный плагин Git для Eclipse на данный моменти он не поддерживает git-svn, но ничто не мешает вам использовать EGit с Eclipse и взаимодействовать с git-svn через командную строку (или, например, через tortoise git ).

Ошибка Eclipse 315264 - это ошибка EGit для поддержки git-svn, и похоже, что разработчики EGit хотят ее реализовать, но у них другие приоритеты.Поэтому убедитесь, что вы проголосовали за эту ошибку, если хотите эту функцию.

6 голосов
/ 06 декабря 2011

EGit - единственный плагин Git для Eclipse на данный момент. Он не поддерживает git-svn. Но есть способ заставить EGit работать с вашим репозиторием Subversion, и этот подход хорошо работает с любым другим клиентом Git.

SubGit - это решение на стороне сервера, которое обеспечивает доступ Git к вашим хранилищам Subversion, а также доступ Subversion к хранилищам Git. Вы можете обратиться к Документация SubGit для получения более подробной информации, но в целом они довольно просты:

$ subgit configure --layout auto $SVN_URL $GIT_REPO
# Adjust $GIT_REPO/subgit/config
#     to specify your branches, tags and other settings
# Adjust $GIT_REPO/subgit/authors.txt 
#     to introduce svn author names to their git counterparts
# Adjust $GIT_REPO/subgit/passwd
#     in case you have no SVN credentials cached on your machine
$ subgit install $GIT_REPO
$ ... translating ... a little git is gonna born right here ... 
$ TRANSLATION SUCCESSFUL

После этого:

  1. У вас есть хранилище Git в $ GIT_REPO, синхронизированное с хранилищем SVN в $ SVN_URL; эта синхронизация является надежно двунаправленной, то есть и SVN, и Git-репозитории остаются доступными для записи, а SubGit заботится об изменениях с обеих сторон.

  2. SubGit установил хуки в каталог $ GIT_REPO / hooks, которые запускаются на каждом git push в этом хранилище.

  3. SubGit опрашивает SVN-репозиторий, чтобы получить новые ревизии.

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

Отказ от ответственности: я разработчик SubGit; SubGit - коммерческое программное обеспечение с бесплатными опциями для небольших команд, Open Source и академических проектов.

0 голосов
/ 25 апреля 2015

Хотя этому вопросу уже 4 года, я подумал, что поделюсь своим недавно найденным обходным решением:

  1. Открыть "Конфигурации внешних инструментов" (рядом с "Запустите «Конфигурации» ) и создайте новую конфигурацию «Программы».
  2. В качестве рабочего каталога выберите свой проект из рабочей области.
  3. Введите svn dcommit в текстовое поле аргументов.
  4. Дублируйте конфигурацию и замените svn dcommit на svn rebase.

Теперь вы можете запустить git svn dcommitи git svn rebase в два клика.

...