Ошибка репозитория GitPython Clone

Я хочу клонировать репозиторий git с параметрами (--recursive, -b <branch>), но получаю следующую ошибку.

Traceback (most recent call last):
  File "./git-clone.py", line 15, in <module>
    r = git.Repo.clone(repo_dir, b=branch, recursive=git_url)
TypeError: unbound method clone() must be called with Repo instance as first argument (got str instance instead)

Вот мой код:

#!/usr/bin/env python

import git
import os
import shutil


git_url = "<url>..."
repo_dir = "/home_local/user/git-repository"
branch = "branch"

if os.path.exists(repo_dir):
    shutil.rmtree(repo_dir)

r = git.Repo.clone(repo_dir, b=branch, recursive=git_url)

Если я заменю git.Repo.clone на git.Repo.clone_from, все будет работать нормально, но эта команда не принимает мои параметры.


person eszik.k    schedule 05.08.2015    source источник


Ответы (1)


пытаться:

r = git.Repo.clone_from(git_url, repo_dir, branch=branch, recursive=True)

Первый аргумент — это откуда вы клонируете (удаленный репозиторий). Второй аргумент — это место, где вы хотите хранить клон. Все остальные аргументы передаются команде git-clone. например --branch="branch" и --recursive. Вероятно, вам следует придерживаться длинных имен аргументов, а не аббревиатур. Поскольку рекурсивный флаг либо присутствует, либо нет, его значения могут быть только True или False.

person Dunes    schedule 05.08.2015