How to change the revision uid on node save
You'll have to impersonate a user while performing your operation:

&lt;?php
//Save current user data/session
global $user;
$original_user = $user;
$old_state = drupal_save_session(FALSE);

$field_uid = field_get_items('node', $node, 'uid');
    if($field_uid){
         // Load new $user data
         $user = user_load($node-&gt;uid);

         $node-&gt;log = $node-&gt;uid;        
         $node-&gt;revision_uid = $user-&gt;uid;
    }

// Fail safe - if your code fails session won't be saved
$user = $original_user;
//Rever to old user and save session
drupal_save_session($old_state);
?&gt;


References:


http://drupal.org/node/1082292
http://firedev.ro/blog/node-revision-when-doing-nodesave-gets-currently-logged-users-uid