Лучшие практики для субмодулей с особенностями проекта с Mercurial и Eclipse?
У меня есть пара проектов ANT для нескольких разных клиентов; структура каталогов для моих проектов выглядит следующим образом:
L___standard_workspace
L___.hg
L___validation_commons-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___old_stuff
| L___src
| | L___css
| | L___js
| | L___validation_commons
| L___src-test
| L___js
L___v_file_attachment-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___src
| | L___css
| | L___js
| L___src-test
| L___js
L___z_business_logic-sub-proj <- JS Library/Module
| L___java
| | L___jar
| L___src
| L___css
| L___js
L____master-proj <- Master web-deployment module where js libraries are compiled to.
L___docs
L___java
| L___jar
| L___src
| L___AntTasks
| L___build
| | L___classes
| | L___com
| | L___company
| L___dist
| L___nbproject
| | L___private
| L___src
| L___com
| L___company
L___remoteConfig
L___src
| L___css
| | L___blueprint
| | | L___plugins
| | | | L___buttons
| | | | | L___icons
| | | | L___fancy-type
| | | | L___link-icons
| | | | | L___icons
| | | | L___rtl
| | | L___src
| | L___jsmvc
| L___img
| | L___background-shadows
| | L___banners
| | L___menu
| L___js
| | L___approve
| | L___cart
| | L___confirm
| | L___history
| | L___jsmvc
| | L___mixed
| | L___office
| L___stylesheets
| L___swf
L___src-standard
Внутри рабочей копии модули компилируют подпроект в один файл Javascript, который помещается в каталог Javascript главного проекта.
Например, каталоги:
validation_commons-sub-proj
v_file_attachment-sub-proj
z_business_logic-sub-proj
... все объединяются и минимизируются (вроде как скомпилированы) в другое имя файла Javascript в_master-proj/js
каталог; и на последнем этапе_master-proj
компилируется для развертывания на сервере.
Теперь, что касается того, как я хотел бы настроить это с помощью hg, я хотел бы иметь возможность клонировать главный проект и его подпроекты из их собственных базовых репозиториев в рабочую копию клиента. , так что модули могут быть добавлены (используя hg) к рабочей копии конкретного клиента.
Кроме того, однако, когда я делаю некоторые изменения в / исправляю ошибки в рабочей копии одного клиента, я хотел бы иметь возможность дополнительно отправить изменения / исправления ошибок обратно в базовый репозиторий основного проекта / подпроекта для целей в конечном итоге вносить изменения / исправления в рабочие копии других клиентов, которые могут содержать те же ошибки, которые необходимо исправить.
Таким образом, я смогу использовать одни и те же исправления ошибок для разных клиентов.
Тем не менее ... Я не уверен, что лучший способ сделать это, используя hg и Eclipse.
I читай здесь что вы можете использовать HG'sПреобразовать расширение разделить подкаталог на отдельный проект, используя--filemap
вариант.
Тем не менее, я все еще немного сбит с толку относительно того, что было бы лучше использоватьПреобразовать расширение или если было бы лучше просто разместить каждый из модулей в своем собственном репозитории и проверить их в едином рабочем пространстве для каждого клиента.