anchor.diff:  
   spawn_mover(Bucket, VBucket, SrcNode, DstNode) ->
       Args = args(SrcNode, Bucket, [VBucket], DstNode, true),
  -    apply(ns_port_server, start_link, Args).
  +    apply(ebucketmigrator, start_link, Args).
   
   split_vbuckets(VBuckets) ->
       split_vbuckets(VBuckets, []).
  
positive.code:     ?log_info("Args =~n~p",
                [PortServerArgs]),
      ChildSpec = {#child_id{vbuckets=VBuckets, dest_node=DstNode},
                   {ns_port_server, start_link, PortServerArgs},
                   permanent, 10, worker, [ns_port_server]},
      supervisor:start_child({server(Bucket), Node}, ChildSpec).
  
  
  
negative.code: -spec args(atom(), nonempty_string(), [non_neg_integer(),...], atom(), boolean()) ->
                    [any(), ...].
  args(Node, Bucket, VBuckets, DstNode, TakeOver) ->
      {User, Pass} = ns_bucket:credentials(Bucket),
      [ns_memcached:host_port(Node), ns_memcached:host_port(DstNode),
       [{username, User},
        {password, Pass},
        {vbuckets, VBuckets},
        {takeover, TakeOver}]].
  
  -spec children(node(), nonempty_string()) -> [#child_id{}].
  children(Node, Bucket) ->
  