Why entity_metadata_wrapper->save() doesn't update node's revision? I'm developing a module to update nodes(enable revision). It looks like this.

 $nodes = node_load_multiple(array(), array('type' =&gt; $bundleType));
 foreach ($ndoes as $node){
    $w = entity_metadata_wrapper('node',$node);
    $w-&gt;MyFields-&gt;set($someValue);
    $w-&gt;save();
 }


It set fields correctly but node's revision-id didn't change after $w-&gt;save().

How can I update the revision ID?
When you edit a node via the UI, it is done via node_form().  This has a call near the top to node_object_prepare(), which sets up default values for that node.  This includes setting the default value of $node-&gt;revision, which is used by node_save() to determine whether a new revision is needed or not.

The Entity API is revision aware, but node_object_prepare() is a node-specific thing.  This means that you need to manage the values yourself, including setting the revision property to mimic what the node edit form will do.