From d365687f879a3f346cc44d40e45332e0783b7833 Mon Sep 17 00:00:00 2001 From: Barracuda Date: Wed, 22 Dec 2010 02:04:01 +0100 Subject: [PATCH] Fix to avoid issues with deleting new remote files on sync(). --- platform/provision_drupal.drush.inc | 13 +++++++++++++ provision.inc | 2 ++ 2 files changed, 15 insertions(+), 0 deletions(-) diff --git a/platform/provision_drupal.drush.inc b/platform/provision_drupal.drush.inc index efd2e2a..a8eda61 100644 --- a/platform/provision_drupal.drush.inc +++ b/platform/provision_drupal.drush.inc @@ -101,11 +101,23 @@ function drush_provision_drupal_provision_install_backend() { function provision_drupal_sync_site() { d()->service('http')->sync(d()->root, array('exclude-sites' => TRUE)); if (d()->type === 'site') { + // Sync all filesystem changes to the remote server. d()->service('http')->sync(d()->site_path, array('no-delete' => TRUE)); } } /** + * Sync all filesystem changes back from the remote server /files/ + * to avoid issues with deleting new remote files on sync(). + */ +function provision_drupal_sync_files() { + if (d()->type === 'site') { + // Sync all /files/ changes back from the remote server. + d()->service('http')->fetch(d()->site_path . '/files/'); + } +} + +/** * Generate a settings file for the site. * * @param url @@ -117,6 +129,7 @@ function provision_drupal_sync_site() { function _provision_drupal_create_settings_file() { $config = new provisionConfig_drupal_settings(d()->name, drush_get_context('site')); $config->write(); + provision_drupal_sync_files(); // to avoid issues with deleting new remote files on sync() provision_drupal_sync_site(); } diff --git a/provision.inc b/provision.inc index 79d3f5d..6348ccb 100644 --- a/provision.inc +++ b/provision.inc @@ -94,6 +94,7 @@ function provision_save_site_data() { if (!drush_get_error()) { $config = new provisionConfig_drushrc_site(d()->name); $config->write(); + provision_drupal_sync_files(); // to avoid issues with deleting new remote files on sync() provision_drupal_sync_site(); } } @@ -106,6 +107,7 @@ function provision_save_platform_data() { if (!drush_get_error()) { $config = new provisionConfig_drushrc_platform(d()->name); $config->write(); + provision_drupal_sync_files(); // to avoid issues with deleting new remote files on sync() provision_drupal_sync_site(); } } -- 1.6.1