libgit2 / libgit2/libgit2sharp

NameConflictException using Clone with Bare repo

Aberta
#2,033 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C#
Estrelas
3.5k
Forks
925
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Reproduction steps
var repoUrl = "https://github.com/me/repo";
var credentials = new UsernamePasswordCredentials
{
    Username = "me",   
    Password = "xxxx"
};

var cloneOptions = new CloneOptions
{
    CredentialsProvider = (url, usernameFromUrl, types) => credentials,
    IsBare = true
};

var repoPath = @"C:\temp"; // this folder is empty

var repo = new Repository(Repository.Clone(repoUrl, repoPath, cloneOptions));
Expected behavior

repo is assigned a value

Actual behavior

Getting LibGit2Sharp.NameConflictException: 'remote 'origin' already exists'

Version of LibGit2Sharp (release number or SHA1)

0.27.2

Operating system(s) tested; .NET runtime tested

Windows 11, Net 6

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

A issue não nomeia arquivos-fonte nem testes. Primeiro, reproduza o bare clone com as CloneOptions mostradas no .NET 6 e, em seguida, rastreie o tratamento de bare clones e a criação do remote chamado origin. Está concluído quando o clone retorna um repositório sem a NameConflictException e há cobertura para essa reprodução.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp, git
Domínio
devtools
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.