docs: def sync(ui, repo, **opts):
  	"""synchronize with remote repository
  
  	Incorporates recent changes from the remote repository
  	into the local repository.
  	"""
  	if codereview_disabled:
  		raise hg_util.Abort(codereview_disabled)
  
  	if not opts["local"]:
  		# If there are incoming CLs, pull -u will do the update.
  		# If there are no incoming CLs, do hg update to make sure
  		# that an update always happens regardless. This is less
  		# surprising than update depending on incoming CLs.
  		# It is important not to do both hg pull -u and hg update
  		# in the same command, because the hg update will end
  		# up marking resolve conflicts from the hg pull -u as resolved,
  		# causing files with <<< >>> markers to not show up in 
  		# hg resolve -l. Yay Mercurial.
  		if hg_incoming(ui, repo):
  			err = hg_pull(ui, repo, update=True)
  		else:
  			err = hg_update(ui, repo)
  		if err:
  			return err
  	sync_changes(ui, repo)