magesync
Goals
- Shared 3rd party modules
- take advantage of git submodules
- Shared Magento core
- Share patches and bug fixes
- "simplified" upgrades
- Separation of project files
- smaller git repository
Directory Structure
Name | Details |
---|---|
core/ | git submodule to CE or EE core |
modules/* | git submodule or directory containing 3rd party modules |
site/ | project specific files |
merged/ | combined output directory |
Structure Sample
. |-core
|--app/code/core/Mage |-modules |--Aoe_Scheduler/app/code/community/Aoe/ |--UniversalVariable/app/code/community/QuBit |--SMTPPro/app/code/community/Aschroder |-site
|--app/code/local/Sevenly
|-merged
|--app/
|---code/
|----core/Mage/
|----community/
|-----Aoe/
|-----Aschroder/
|-----QuBit/
|----local/
|-----Sevenly/
DEV
vs
Production
Synchronizing DEV
dev_vagrant beeplogic$ magesync
The following directories will be watched :
/Users/beeplogic/Projects/dev_vagrant/data/modules/Aoe_Scheduler
/Users/beeplogic/Projects/dev_vagrant/data/modules/SMTPPro
/Users/beeplogic/Projects/dev_vagrant/data/modules/UniversalVariable
/Users/beeplogic/Projects/dev_vagrant/data/core
/Users/beeplogic/Projects/dev_vagrant/data/site
OS X: FSwatch
Linux: inotify-tools
Production Builds
rsync
mkdir merged/
rsync -crvt --exclude 'var/' core/ merged/
find modules/ -maxdepth 1 -mindepth 1 -type d -exec rsync -crvt --exclude 'var/' '{}/' merged/ ';'
rsync -crvt site/ merged/
rm -rf merged/media
Known Issues
- Messy code base, needs to be cleaned up
- Certain git operations aren’t handled correctly
magesync
By beeplogic
magesync
- 2,630