Подтвердить что ты не робот

Git -svn и Eclipse?

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

$ 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

После этого:

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

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

  • SubGit публикует репозиторий SVN для получения новых версий.

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

  • HTTP-сервер Apache с git-http-backend, GitLab, Gitosis, Gitolite: поддерживается из коробки;
  • Atlassian Bitbucket Server: в этом случае вы можете использовать надстройка SVN Mirror, которая построена на движке SubGit;
  • Gerrit: вам нужно установить плагин SubGit для Gerrit в этом случае;

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

Ответ 3

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

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

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