commit 3f7d3da0b8bfcf76c0ec9be65ecb424366ae08aa
Author: Raphaël Droz <raphael.droz+floss@gmail.com>
Date:   Thu Nov 15 14:07:11 2012 +0100

    #1840472 added cck_country -> countries migration

diff --git a/countries_migrate.info b/countries_migrate.info
new file mode 100755
index 0000000..06073c4
--- /dev/null
+++ b/countries_migrate.info
@@ -0,0 +1,8 @@
+name = Countries CCK Migrate
+description = Migrate from cck_country to country field
+
+core = 7.x
+package = Countries
+
+dependencies[] = countries
+dependencies[] = migrate
diff --git a/countries_migrate.module b/countries_migrate.module
new file mode 100644
index 0000000..083016c
--- /dev/null
+++ b/countries_migrate.module
@@ -0,0 +1,55 @@
+<?php
+
+function countries_migrate_content_migrate_field_alter(&$field_value, $instance_value) {
+  if ($field_value['type'] == 'cck_country') {
+    $field_value['type'] = 'country';
+    $field_value['module'] = 'countries';
+  }
+}
+
+function countries_migrate_content_migrate_instance_alter(&$instance_value, $field_value) {
+  if ($instance_value['widget_type'] == "cck_country_select") {
+    // fix widget
+    // * possible sources: cck_country_select
+    // * possible destinations: options_buttons, options_select, countries_continent
+    $instance_value['widget_type'] = 'options_select';
+    $instance_value['widget']['type'] = 'options_select';
+    $instance_value['widget']['module'] = 'countries';
+
+    // fix formatter:
+    // * possible source values:
+    // default, code2, code3 + hidden
+    // * possible destination values:
+    // country_default, country_official, country_alpha_2, country_alpha_3,
+    // country_number, country_continent, country_continent_code + hidden
+    foreach ($instance_value['display'] as $context => $settings) {
+      if ($instance_value['display'][$context]['type'] == 'default') {
+	$instance_value['display'][$context]['type'] = 'country_default';
+      }
+      elseif ($instance_value['display'][$context]['type'] == 'code2') {
+	$instance_value['display'][$context]['type'] = 'country_alpha_2';
+      }
+      elseif ($instance_value['display'][$context]['type'] == 'code3') {
+	$instance_value['display'][$context]['type'] = 'country_alpha_3';
+      }
+    }
+  }
+}
+
+function countries_migrate_content_migrate_data_record_alter(&$record, $field) {
+  if ($field['type'] == 'country') {
+    $type = key($field['columns']);
+
+    if($type == "iso2") {
+      // Copy FIELD_NAME_value (D6) to FIELD_NAME_iso2 (D7)
+      if(isset($record[$field['field_name'] . "_value"]) && !isset($record[$field['field_name'] . "_iso2"])) {
+	$record[$field['field_name'] . "_iso2"] = $record[$field['field_name'] . "_value"];
+      }
+    }
+    else {
+      // TODO: is it possible ?
+      print "warning: unknown field configuration, please report the following at https://drupal.org/node/1840472\n";
+      var_dump($field, $record);
+    }
+  }
+}
