libgit2 / libgit2/libgit2sharp

Worktrees.Add throws an exception if a slash is in the branch name

Aberta
#1,961 1 comentário 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

have a repository with the branches

  • main [default]
  • feature/branch-name

Clone the repository and add the worktree.

SourceCode:

               var cloneOptions = new CloneOptions()
                {
                    CredentialsProvider = (_url, _user, _cred) => this.Credentials,                    
                    Checkout = true,
                    RecurseSubmodules = true,
                };
                 
                this.gitRepositoryPath = Repository.Clone(this.SourceUrl, this.WorkdirPath, cloneOptions);
                
                using (var repo = new Repository(this.gitRepositoryPath))
                {
                    var path = Path.Combine(this.WorkdirPath, "..", this.Branch);

                    repo.Worktrees.Add(this.Branch, path, false);
                }   

Expected behavior

Worktree should be created

Actual behavior

Exception is thrown:
failed to make directory 'xxx/.git/worktrees/feature/branch-name': The system cannot find the path specified.

Version of LibGit2Sharp (release number or SHA1)

0,26, 0.27.0-preview-0182

Operating system(s) tested; .NET runtime tested

Windows 10, Windows Server 2016, .Net Framework 4.8

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

Comece pelo ponto de entrada Worktrees.Add e reproduza a falha com o branch feature/branch-name descrito na issue no Windows. Acompanhe a criação do diretório do worktree e verifique se a adição de um branch contendo uma barra é concluída sem a exceção relatada.

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

Avaliação

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

Receba novas issues na sua caixa de entrada

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