def METHOD_NAME(self):
    if not self.window.folders() and not self.window.views():
        window = self.window
    else:
        window = open_new_window()
        # HACK: `git()` uses `self.window`, we can't pass anything down
        self.window = window
    window.set_project_data({
        "folders": [dict(follow_symlinks=True, path=self.target_dir)]
    })
    window.status_message("Start cloning {}".format(self.git_url))
    self.git(
        "clone",
        "--progress",
        "--recursive" if self.recursive else None,
        self.git_url,
        self.target_dir,
        working_dir='.',
        show_panel=True
    )
    window.status_message("Cloned repo successfully.")
    if not window.is_sidebar_visible():
        self.window.run_command("toggle_side_bar")
    util.view.refresh_gitsavvy_interfaces(window, refresh_sidebar=True)