Posted by VanD on June 10, 2010 at 7:47pm
I store all my updated themes and modules in my SVN repository.
How can I get Aegir to recognize my themes and modules from an SVN repository, so I can use them to migrate a new site?
Example of where a theme is stored:
svn+ssh://user@server/var/lib/svnroot/drupal/themes/drupal_6/production/basic
Example if where my themes are stored for a specific platform on my aegir server:
/var/aegir/drupal-6.16/sites/default/themes
EDIT: Changed theme path
Comments
Drupal best practice
I believe that it's a best practice in Drupal to NOT store any modules or themes other then Drupal core ones in the drupal/themes or drupal/modules directory. All your add-on (contributed or custom) modules and themes should be stored in one of the following (the "|" denotes the modules OR themes directory):
You can find some recent information about this here: http://groups.drupal.org/node/68518. You may also need to reverify the platform that you add modules/themes to so that Aegir becomes aware of these.
-Tim
My Mistake
You're right. My mistake, I changed the directory now.
Premature Post
I discovered this should be done with drush make.
Here is what I put in my drush make file to do this with SVN.
projects[themeName][type] = "theme"
projects[themeName][download][type] = "svn"
projects[themeName][download][url]= "svn+ssh://USERNAME@SERVER/path/to/theme/"
Thanks for sharing that. Can
Thanks for sharing that. Can you expand on what this does for you and what commands/processes you now run as a result?
The Purpose
The entire purpose of this was to build a new platform for Aegir including all the modules I wanted for this platform.
I created a newPlatform.make file as follows.
core = 6.x
projects[] = drupal
projects[] = admin_menu
projects[] = admin_hover
projects[] = advanced_help
projects[] = amfphp
projects[] = block_class
projects[] = captcha
projects[] = cck
projects[] = content_access
projects[] = context
projects[] = dashplayer
projects[] = event
projects[] = extlink
projects[] = features
projects[] = filefield
projects[] = flashvideo
projects[] = globalredirect
projects[] = google_analytics
projects[] = google_appliance
projects[] = imageapi
projects[] = imagecache
projects[] = imagefield
projects[] = ldap_integration
projects[] = lightbox2
projects[] = menu_perms
projects[] = module_grants
projects[] = nodeasblock
projects[] = node_export
projects[] = noreqnewpass
projects[] = pathauto
projects[] = path_redirect
projects[] = recaptcha
projects[] = revisioning
projects[] = securepages
projects[] = services
projects[] = smart_menus
projects[] = suppress_search
projects[] = tinytinymce
projects[] = token
projects[] = views
projects[themeName][type] = "theme"
projects[themeName][download][type] = "svn"
projects[themeName][download][url]= "svn+ssh://USERNAME@SERVER/path/to/theme/"
Then in my shell in the path that I want to have this platform created I executed:
drush make newPlatform.make
That uses drush to download the latest core, and modules listed including my theme from svn, to the current path.
After that was completed, I added in my installation profile, then used Aegir to verify the site, and all went well.
This with Git
Has anyone done the above with themes or contrib or custom modules stored in Git or GitHub? And, if so, what would be the correct syntax for the last two lines of the above .make file if Git or GitHub were to replace SVN? Thanks.
HAJ
Using Git
I believe this is what you are looking for,
projects[name][type] = "profile|theme|module"
projects[name][download][type] = "git"
projects[name][download][url] = "git@git.server.net:/path/to/project"
Yes, Thanks
VanD. Yes, that's exactly it. Thanks.
HAJ