--- orig/dbscripts/dbscripts.module	2009-12-23 00:27:26.000000000 +0100
+++ dbscripts/dbscripts.module	2010-07-13 17:50:24.000000000 +0200
@@ -692,7 +692,7 @@ function dbscripts_merge($options) {
       if (file_exists("$tmpdev_location/tables/$table.sql")) {
         $dev_increment = dbscripts_get_table_increment($table, $tmpdev_branch);
         $prod_increment = dbscripts_get_table_increment($table, $branch_production);
-        if ($dev_increment['num'] >= $prod_increment) {
+        if ($dev_increment['num'] >= $prod_increment['num']) {
           exec("cp $tmpdev_location/tables/$table.sql $merge_location/tables");
         } else {
           // If the production increment is higher than development, must rewrite increment
@@ -737,7 +737,7 @@ function dbscripts_merge($options) {
         exec("grep -v '^INSERT INTO' $known_data_file > $blank_version");
 
         // Merge the existing data
-        exec("diff3 -E --merge $dev_version $lastmerge_version $prod_version > $merge_version");
+        exec("diff3 -E --merge $prod_version $lastmerge_version $dev_version > $merge_version");
         $check_conflict = exec("grep '^<<<<<<<' $merge_version");
         if ($check_conflict) {
            $conflict[] = $table;
@@ -1496,8 +1496,8 @@ function dbscripts_get_table_increment($
         }
       }
 
-      $id_string = exec("grep -i 'auto_increment' $branch_location/tables/$table.sql");
-      $id_string_parts = explode('`', $id_string);
+      $id_string = exec("grep -i 'int.* .*auto_increment' $branch_location/tables/$table.sql");
+      $id_string_parts = explode('`', trim($id_string));
       $increment['id'] = $id_string_parts[1];
     }
   }
