Опции Eclipse Multi-Project / Single Repository Source Control - PullRequest
1 голос
/ 22 октября 2011

Я использую разработку Eclipse для Java (в основном для Android), поскольку моя работа разбита на различные проекты, которые связаны различными способами (в основном библиотеки Android, некоторые вещи на чистом Java).

Когда дело доходит до управления исходным кодом, я хочу хранить группы проектов в отдельных репозиториях. Это в основном потому, что я не хочу иметь десятки репозиториев, просто потому, что у меня есть десятки проектов !!

MercurialEclipse безнадежен для этого - он будет работать только 1: 1 между проектом и репозиториями - так что это не так.

EGit показался многообещающим, есть ряд статей (здесь и в других местах), в которых демонстрируется, как разместить множество проектов в одном репозитории .git - и мне удалось заставить эту часть работать после всего лишь 3 часов работы моменты на столе !!

Это шатко, как, черт возьми, коммиты кажутся неудачными (первая попытка всегда кажется неудачной - вторая обычно работает!?).

Еще хуже то, что проблемы с библиотеками Android - Eclipse думает, что они существуют, - но тогда они этого не делают, а потом делают, а потом нет! Изменения в свойствах проекта иногда не сохраняются (никогда не возникало проблем, пока я не «контролировал исходный код» проекта), поэтому я полностью отказываюсь от EGit.

Итак - есть ли какие-то другие опции, которые я пропустил, или мне действительно нужно запускать управление исходным кодом из-за пределов Eclipse!?

Ответы [ 2 ]

2 голосов
/ 23 октября 2011

ОК - я потратил немного времени на это, и я нашел то, что я считаю достойным компромиссом с использованием MercurialEclipse.

Он основан на настройке контроля версий вне Eclipse - нокак только вы это сделаете, вы можете работать в Eclipse (используя MercurialEclipse) для изменений / фиксаций / толчков.

Первая задача - удалить проекты из рабочей области Eclipse (но НЕ из файловой системы).

Затем я перемещаю все проекты, которые хочу сгруппировать, во вложенную папку в рабочей области, например,

WORKSPACE
    MYREPOFOLDER
        PROJECT1
        PROJECT2
        ...

Затем я использую инструмент (в данном случае TortoiseHG), чтобы создать хранилище в папке MYREPOFOLDER.,На самом деле я клонирую репозиторий BitBucket, но все, что вам подходит ...

Все еще пользуясь TortoiseHG, я добавляю папки PROJECT1, PROJECT2 в этот репозиторий и выполняю для них 'FIRST COMMIT'.

Затем в Eclipse я использую инструмент Import-> Mercurial, чтобы импортировать некоторые или все проекты из этого репозитория.MercurialEclipse достаточно умен, чтобы находить проекты, даже если они не находятся в «корне» хранилища, и будет фиксировать и отправлять изменения AOK (ну, насколько я это тестировал !!).

Итаку вас это есть - один репозиторий с несколькими проектами и только немного работы вне Eclipse, чтобы заставить его работать - надеюсь, это кому-нибудь поможет!

1 голос
/ 22 октября 2011

Насколько я знаю, вы должны запускать управление исходным кодом вне Eclipse, если вы управляете всем рабочим пространством в целом. Eclipse будет искать только изменения внутри проектов в своей рабочей области, а не метаданные рабочей области и другие папки, которые не являются проектами.

...