From ea1c25496086e632d89a400b7174127f72a471b3 Mon Sep 17 00:00:00 2001
From: Jasper Knops <jasperknops@gmail.com>
Date: Thu, 28 Jun 2012 14:03:17 +0200
Subject: [PATCH] Catch field update exception in features module

---
 .../contrib/features/includes/features.field.inc   |   21 +++++++++++++++----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/www/sites/all/modules/contrib/features/includes/features.field.inc b/www/sites/all/modules/contrib/features/includes/features.field.inc
index 96b22b4..19ec66d 100644
--- a/www/sites/all/modules/contrib/features/includes/features.field.inc
+++ b/www/sites/all/modules/contrib/features/includes/features.field.inc
@@ -162,11 +162,22 @@ function field_features_rebuild($module) {
     foreach ($fields as $field) {
       // Create or update field.
       $field_config = $field['field_config'];
-      if ($existing_field = field_info_field($field_config['field_name'])) {
-        field_update_field($field_config);
-      }
-      else {
-        field_create_field($field_config);
+        if ($existing_field = field_info_field($field_config['field_name'])) {
+          try {
+            field_update_field($field_config);
+          }
+          catch (FieldException $e) {
+            watchdog('features', t('Attempt to update field %label failed: %message.', array('%label' => $field_config['field_name'], '%message' => $e->getMessage())));
+          }
+        }
+        else {
+          try {
+            field_create_field($field_config);
+          }
+          catch (FieldException $e) {
+            watchdog('features', t('Attempt to create field failed: %message.', array('%message' => $e->getMessage())));
+          }
+        }
       }
 
       // Create or update field instance.
-- 
1.7.5.4+GitX