2016-01-10 2 views
0

Я хочу клонировать некоторые удаленные репозитории, но получаю только основную ветвь.Клонирование только основной ветви с использованием PyGit2

В настоящее время мой код получает все ветки.

def init_remote(repo, name, url): 
    # Create the remote with a mirroring url 
    remote = repo.remotes.create(name, url, "+refs/*:refs/*") 
    # And set the configuration option to true for the push command 
    mirror_var = "remote.{}.mirror".format(name) 
    repo.config[mirror_var] = True 
    # Return the remote, which pygit2 will use to perform the clone 
    return remote 

pygit2.clone_repository(url, "../../clones/"+location, remote=init_remote) 

ответ

0

Ваш код не просто получить все ветви, она отражает отдаленную, получая свои дистанционно отслеживать филиалы, а также, что может привести к некоторому запутанному макету.

Вы уже устанавливаете свой собственный рефский режим, поэтому вам нужно установить refspec для загрузки ветви по умолчанию. Если вы это знаете, вы можете изменить код, чтобы получить только одну ветвь

remote = repo.remotes.create(name, url, "+refs/heads/master:refs/heads/master") 
Смежные вопросы