code: def checkout_task(current_target):
      
      try:
          scm = _make_scm(current_target)
          src_dir = current_target.config.get("dp.src_dir")
          shared_dir = current_target.config.get("dp.src_dir_shared")
          scm.checkout(repo_dir=src_dir, shared_dir=shared_dir)
          scm.update(repo_dir=src_dir)
      except devpipeline_core.toolsupport.MissingToolKey as mtk:
          current_target.executor.warning(mtk)
docs: Update or a local checkout.
  
      Arguments
      target - The target to operate on.