def fetch
      log.info(log_key) { "Fetching from `#{source_url}'" }
      create_required_directories

      if cloned?
        git_fetch
      else
        force_recreate_project_dir! unless dir_empty?(project_dir)
        git_clone
      end
    end
def fetch
      log.info(log_key) { "Fetching from `#{source_url}'" }
      create_required_directories

      if cloned?
        git_fetch
      else
        force_recreate_project_dir! unless dir_empty?(project_dir)
        git_clone
      end
    end
Fetch (clone) or update (fetch) the remote git repository.

 @return [void]