I've taken to installing add-ons that I have in development in separate repositories as submodules into each of my EE projects. This has worked fine for add-ons that do not have a themes folder, but I am now finally in the situation where I want to develop a module/extension that utilizes a themes folder.
I have come accross this other question for which answers suggest using symlinks to accomplish the goal. I find symlinks in git to be a scary proposition (they don't behave the same across platforms), and would prefer to have a way to do this that refers to the remote repo, not a local copy by a strict path.
Is there a way to use subtree merging to remap e.g.:
subproject/system/expressionengine/third_party/add-on-name
toproject/third_party/add-on-name
(I use ee-master-config to remap third_party outside of the expressionengine directory, along with the templates directory)subproject/themes/third_party/add-on-name
toproject/public_html/themes/third_party/add-on-name
(I keep the system folder above web root)?
To clarify the setup, this is my current folder hierarchy for any given EE site:
/public_html
/public_html/themes
/public_html/system (contains only an index.php pointing to ../../system)
/system
/templates
/third_party
Web root is set to public_html so that executable server side code is never exposed to the wider world. In an add-on repository the folder structure is that of the default expressionengine setup, eg.:
/system
/system/expressionengine/third_party
/themes
The trouble then is including the files from the add-on repository to different paths in an expressionengine site's hierarchy.